我们的每个表都有一个TenantID列。通常我们使用NHibernate过滤器对数据进行切片。实体框架模型我们需要相同的东西。
我们将使用此模型作为ADO.NET数据服务的源代码,因此最好使模型不含TenantID等基础结构属性。从代码方面我们静态地了解TenantID线程。
UPD:我找到QueryInterceptorAttribute,正在调查我是否可以使用它。
答案 0 :(得分:0)
您可能希望了解如何使用T4模板。有一个很好的例子here,它只需要稍微修改一下。
我还使用匿名类型从实体框架对象中“切片”属性。
//assuming EFObject has Foo, Bar and Baz properties
var slicedObject = new { Foo = EFObject.Foo, Bar = EFObject.Bar }
对于复杂的课程来说,这很简单,但可以维持。