【问题标题】:Accessing different tables using the same model Entity framework С# [closed]使用相同的模型实体框架С#访问不同的表[关闭]
【发布时间】:2021-08-08 03:00:00
【问题描述】:

面临以下问题:我有两张桌子和一个适合它们的模型。我认为为第二个表创建一个单独的相同模型是错误的,尽管这是一种工作方法。您能告诉我如何构建访问第一个表或第二个表的逻辑吗?

【问题讨论】:

  • 拥有单独的实体并不是“错误的”。如果您有两个单独的表,那么您有两个单独的问题。今天它们是相同的。明天他们可能不会。两张桌子而不是一张桌子的理由是什么?为什么要增加尝试将实体绑定交换到不同表的复杂性,这几乎肯定会导致错误和问题?
  • @StevePy我知道你的意思。我有一个用户测试应用程序,一个表存储第一个测试的问题,第二个表存储第二个测试的问题
  • 这个问题对于 Stack Overflow 来说太宽泛,也太基于意见了。

标签: c# sql-server entity-framework linq linq-to-entities


【解决方案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 的属性将被继承到Model1Model2 类。假设这些模型具有名为 ID 的相同列,您将能够通过这种方式使用两个不同的类(尽管使用一个基本模型)访问这两个表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多