我有一个包含多个表的多客户端数据库(multitennant)。
其中两个表格为tblEmployees
和tblTitles
。
现在我的关系从tblEmployees.empTitle
到tblTitles.ttlID
。
到目前为止一切正常。
但现在我必须为多个客户/租户制作应用程序。
所以我添加了字段tblEmployees.empClient
和tblTitles.ttlClient
,并将它们包含在关联中。
这适用于阅读和设置人物标题。
但是,如果我尝试删除标题(将其设置为NULL
),则Linq尝试修改tblEmployees.empTitle
和tblEmployees.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}} ???
答案 0 :(得分:0)
我就像其他人一样解决了这个问题: 我让LinqToSQL认为,clientID不是主键的一部分,并将其从关联中删除。 但是我没有修改数据库,因此数据库仍然强制使用相同客户端/ tennant的标题。