在多客户端数据库上删除Linq to SQL Association

时间:2012-04-11 07:57:39

标签: sql-server vb.net visual-studio-2008 linq-to-sql multi-tenant

我有一个包含多个表的多客户端数据库(multitennant)。 其中两个表格为tblEmployeestblTitles。 现在我的关系从tblEmployees.empTitletblTitles.ttlID

到目前为止一切正常。 但现在我必须为多个客户/租户制作应用程序。 所以我添加了字段tblEmployees.empClienttblTitles.ttlClient,并将它们包含在关联中。

这适用于阅读和设置人物标题。 但是,如果我尝试删除标题(将其设置为NULL),则Linq尝试修改tblEmployees.empTitletblEmployees.empClient的SQL,因为tblEmployees.empClient属于InvalidOperationException: An attempt was made to remove a relationship between a AppTitle and a AppEmployee. However, one of the relationship's foreign keys (AppEmployee.clientID, AppEmployee.titleID) cannot be set to null. 主键。 所以我得到以下错误:

tblEmployees.empTitle

如何告诉SQL到Linq只修改字段{{1}} ???

1 个答案:

答案 0 :(得分:0)

我就像其他人一样解决了这个问题: 我让LinqToSQL认为,clientID不是主键的一部分,并将其从关联中删除。 但是我没有修改数据库,因此数据库仍然强制使用相同客户端/ tennant的标题。