通过扩展类将实体框架对象变成泛型类?

发布于 2024-10-31 07:01:02 字数 473 浏览 4 评论 0原文

我有一个名为 PagePreference 的 EF 对象。对应的表包含三个字段:UserName(PK, varchar(200), not null)、PageName(PK, varchar(700), not null) 和 PageState(text, null)。 PageState 字段包含序列化 (json) 对象。我有另一个类文件,它通过“partial”关键字扩展此 EF 对象。这个想法是,在任何给定页面上,我可以创建一个对象来包含页面状态并将其序列化到 PagePreference 对象中的 PageState 字段中。每个页面都有不同的 PageState 对象,因此它们彼此不兼容。因此,我希望 PagePreference 对象使用泛型(例如 PagePreference),以便在加载对象时,它可以将页面状态反序列化为适当的类(“T”)。但是,当我将通用符号添加到扩展的 PagePreference 对象时,VisualStudio 认为它是一个新对象。有人知道有什么方法可以让它发挥作用吗?

I have an EF object called PagePreference. The corresponding table contains three fields: UserName(PK, varchar(200), not null), PageName(PK, varchar(700), not null), and PageState(text, null). The PageState field contains a serialized (json) object. I have another class file which extends this EF object via the 'partial' keyword. The idea is that on any given page, I can create an object to contain the page state and serialize it into the PageState field in the PagePreference object. Each page would have a different PageState object so they wouldn't be compatible with each other. Because of this, I would like the PagePreference object to use generics (e.g. PagePreference) so that when the object is loaded, it can deserialize the page state into the appropriate class ('T'). However, when I added the generic notation to the extended PagePreference object, VisualStudio considers it a while new object. Anyone know of a way to get this to work?

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

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

发布评论

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

评论(1

淡淡绿茶香 2024-11-07 07:01:02

发生这种情况是很自然的,因为泛型类和非泛型类并不相同。恐怕没有办法直接这样做,因为实体是自动生成的。但是,您可以尝试做的是 使用 POCO,你应该能够以任何你想要的方式塑造它。

在尝试自己测试之后,我发现 EntityFramework 不支持泛型。即使使用 POCO。 (也许还没有;))

it's only natural that this happens since generic and non-generic classes aren't the same. There isn't a way, I'm afraid to do this directly, since the entities are autogenerated. what you can try to do, however, is use POCOs which you should be able to mold anyway you want.

After trying to test this myself, I found out that EntityFramework doesn't support generics. Even with POCOs. (maybe not yet ;) )

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