0

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

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

这适用于阅读和设置人的标题。 但是,如果我尝试删除标题(将其设置为NULL),则SQL到Linq会尝试修改tblEmployees.empTitletblEmployees.empClient,但不允许,因为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. 

我怎么能告诉SQL到LINQ只修改现场tblEmployees.empTitle ???

回答

0

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