如何在实体框架模型中切片/过滤数据?

发布于 2024-08-04 16:07:38 字数 343 浏览 1 评论 0原文

我们的每个表都有 TenantID 列。通常我们使用 NHibernate 过滤器对数据进行切片。我们需要同样的实体框架模型。

我们将使用该模型作为 ADO.NET 数据服务的源,因此最好让模型不含基础设施属性(例如 TenantID)。从代码方面我们静态地知道TenantID线程。

UPD:我发现 QueryInterceptorAttribute,调查是否我可以用它。

Each our table has column TenantID. Normally we slice data with NHibernate filters. We need the same for Entity Framework Model.

We will use this model as source for ADO.NET Data Services, so it is better to have model free of infrastructure properties like TenantID. From code side we know TenantID thread statically.

UPD: I found QueryInterceptorAttribute, investigating if I can use it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

吃兔兔 2024-08-11 16:07:38

您可能想考虑使用 T4 模板。有一个很好的例子这里< /a>,只需要稍微修改一下即可。

我还使用匿名类型从实体框架对象中“分割”属性。

//assuming EFObject has Foo, Bar and Baz properties
var slicedObject = new { Foo = EFObject.Foo, Bar = EFObject.Bar }

它很简单,但对于复杂的类来说可维护性值得怀疑。

You might want to look into using T4 templates. There is a good example here, it would just need to be modified a bit.

I have also used anonymous types to 'slice' properties off of Entity Framework objects.

//assuming EFObject has Foo, Bar and Baz properties
var slicedObject = new { Foo = EFObject.Foo, Bar = EFObject.Bar }

It simple, but questionably maintainable for complex classes.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文