如何在实体框架中使用类似于字段的类

本文关键字:类似于 字段 实体 框架 | 更新日期: 2023-09-27 17:57:04

有没有办法使用类在实体框架中存储一个简单的值。

我想创建一个类来存储一个简单的int32值并将其命名为 ID

并简单地在实体框架中使用它,但我希望将内部int32值保存在数据库中,而不是创建另一个表来存储 ID 类并在这两个表之间创建关系(ID 和 ID 本身的用户)。

让我用代码解释一下:

public class ID
{
    public int InnerID { get; set; }
}
public class SomeClassName
{
    public ID id { get; set; }
    public int Age { get; set; }
    //....
}

我希望结果是这样的:

-------------------
| InnerID  | Age  |
-------------------
| val1     | val1 | 

InnerID创建为字段,而不是对 ID 表的引用。

这可能吗?

多谢。

如何在实体框架中使用类似于字段的类

当然,您可以使用 EF 执行此操作。这些类型在 EF 中称为复杂类型。但重要的是,复杂类型没有实体键,EF 将知道将其映射到与"host"类(例如 SomeClassName)相同的表中的字段。以下是 MSDN 文档中关于 E 中的复杂类型:http://msdn.microsoft.com/en-us/library/vstudio/bb738472(v=vs.100).aspx

或者,对于此特定方案,您可能希望将"ID"类设置为基类(抽象),然后 SomeClassName 可以从中驱动。我已经把它的名字改成了身份。ID让我感到困惑。

    public abstract class Identity {
         public int InnerID { get; set; } 
     }
     public class SomeClassName:Identity {
          public int Age { get; set; }
        //.... 
     }