简单场景
[ClientTable]: ClientId, ClientName, Phone, Age [CityTable]: CityID, CityName, Country [ClientCityTable]: ClientCityID, ClientID, CityID Client client = new Client("John", 123456789, 40); City city = new City("NY", USA); ClientCity clientCity = new ClientCity(client, city);
我应该对每个对象(表)还是仅对clientCity进行InsertOnSubmit?还是没关系?有什么区别?
编辑
我在问我是否应该做
DatabaseDC dc = new DatabaseDC(connectionString); dc.Client.InsertOnSubmit(client); dc.City.InsertOnSubmit(city); dc.ClientCity.InsertOnSubmit(clientCity); dc.SubmitChanges();
或仅
DatabaseDC dc = new DatabaseDC(connectionString); dc.ClientCity.InsertOnSubmit(clientCity);//because this object has references to client and city dc.SubmitChanges();
?
编辑2
我做了几次尝试,甚至InsertOnSubmit只在上使用client,条目也插入到City和中ClientCity。我应该如何正确做?
InsertOnSubmit
client
City
ClientCity
通常,您必须确保链接表在插入之前存在,否则可能会出错(取决于您是否限制了sql表)。
您还可以为插入和更新创建自定义存储过程调用,这些过程可以确保链接表正确。
恕我直言,linq-to-sql非常适合进行复杂的选择,但更新数据库并不那么容易。(我经常看到它会造成严重的性能瓶颈。)