使用相同的模型实体框架С#访问不同的表[关闭]
Posted
技术标签:
【中文标题】使用相同的模型实体框架С#访问不同的表[关闭]【英文标题】:Accessing different tables using the same model Entity framework С# [closed] 【发布时间】:2021-08-08 03:00:00 【问题描述】:面临以下问题:我有两张桌子和一个适合它们的模型。我认为为第二个表创建一个单独的相同模型是错误的,尽管这是一种工作方法。您能告诉我如何构建访问第一个表或第二个表的逻辑吗?
【问题讨论】:
拥有单独的实体并不是“错误的”。如果您有两个单独的表,那么您有两个单独的问题。今天它们是相同的。明天他们可能不会。两张桌子而不是一张桌子的理由是什么?为什么要增加尝试将实体绑定交换到不同表的复杂性,这几乎肯定会导致错误和问题? @StevePy我知道你的意思。我有一个用户测试应用程序,一个表存储第一个测试的问题,第二个表存储第二个测试的问题 这个问题对于 Stack Overflow 来说太宽泛,也太基于意见了。 【参考方案1】:虽然我理解这背后的前提,但我认为在 EF Core 中使用一个模型访问两个表是不可能的(我也不认为这是一个好主意),因为 Table 属性不能重复。
但是,如果您实现继承,则可以克服此限制。
[Table("Table1")]
public class Model1 : MyBaseModel
[Table("Table2")]
public class Model2 : MyBaseModel
public class MyBaseModel
public int ID get; set;
MyBaseModel
的属性将被继承到Model1
和Model2
类。假设这些模型具有名为 ID
的相同列,您将能够通过这种方式使用两个不同的类(尽管使用一个基本模型)访问这两个表。
【讨论】:
以上是关于使用相同的模型实体框架С#访问不同的表[关闭]的主要内容,如果未能解决你的问题,请参考以下文章