Sql server 删除多客户端数据库上的Linq到SQL关联
我有一个多客户机DB(Multitenant)和几个表。 其中两个表是Sql server 删除多客户端数据库上的Linq到SQL关联,sql-server,vb.net,visual-studio-2008,linq-to-sql,multi-tenant,Sql Server,Vb.net,Visual Studio 2008,Linq To Sql,Multi Tenant,我有一个多客户机DB(Multitenant)和几个表。 其中两个表是tblEmployees和tblTitles。 现在我有了一个从tblEmployees.empTitle到tblTitles.ttlID的关系 到目前为止,一切正常。 但现在我必须为多个客户/坦能人申请。 因此,我添加了tblEmployees.empClient和tblTitles.ttlClient字段,并将它们包含到关联中 这对于阅读和设置人员标题都很有用。 但是如果我尝试删除标题(将其设置为NULL),SQL to
tblEmployees
和tblTitles
。
现在我有了一个从tblEmployees.empTitle
到tblTitles.ttlID
的关系
到目前为止,一切正常。
但现在我必须为多个客户/坦能人申请。
因此,我添加了tblEmployees.empClient
和tblTitles.ttlClient
字段,并将它们包含到关联中
这对于阅读和设置人员标题都很有用。
但是如果我尝试删除标题(将其设置为NULL
),SQL to Linq将尝试修改tblEmployees.empTitle
和tblEmployees.empClient
with,因为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只修改字段
tblEmployees.empTitle
?我和其他人一样解决了这个问题:
我让LinqToSQL想想,clientID不是主键的一部分,并将其从关联中删除。
但是,我没有修改数据库,因此数据库仍然强制使用同一个client/tennant的标题