【问题标题】:Remove Linq to SQL Association on Multi-Client DB删除多客户端数据库上的 Linq to SQL 关联
【发布时间】:2012-04-11 07:57:39
【问题描述】:

我有一个包含多个表的多客户端数据库(多租户)。 其中两个表是tblEmployees 和tblTitles。 现在我的关系从tblEmployees.empTitle 到tblTitles.ttlID。

到目前为止一切正常。 但现在我必须为多个客户/租户申请。 所以我添加了tblEmployees.empClient和tblTitles.ttlClient这两个字段,并将它们包含在关联中。

这也适用于阅读和设置人员标题。 但是如果我尝试删除标题(将其设置为NULL),SQL to Linq 会尝试同时修改tblEmployees.empTitle 和tblEmployees.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???

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-01
      相关资源
      最近更新 更多