C# 如何在实体框架中使用类似字段的类
是否有一种方法可以使用类在实体框架中存储简单的值 我想创建一个类来存储一个简单的C# 如何在实体框架中使用类似字段的类,c#,.net,entity-framework,entity,C#,.net,Entity Framework,Entity,是否有一种方法可以使用类在实体框架中存储简单的值 我想创建一个类来存储一个简单的int32值,并将其命名为ID 并在实体框架中简单地使用它,但我希望将内部int32值保存在数据库中,而不是创建另一个表来存储ID类,并在这两个表(ID的用户和ID本身)之间创建关系 让我用密码解释一下: public class ID { public int InnerID { get; set; } } public class SomeClassName { public ID id { g
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将知道如何将其映射到与“主机”类(例如SomeClassName)相同的表中的字段。以下是E中复杂文本类型的MSDN文档: 或者,对于这个特定场景,您可能希望将“ID”类设置为基类(抽象),然后SomeClassName可以从中驱动。我把它的名字改成了“身份”。我弄糊涂了
public abstract class Identity {
public int InnerID { get; set; }
}
public class SomeClassName:Identity {
public int Age { get; set; }
//....
}
有人帮帮我。。请……:)如果你是这个意思的话,你不能用类作为键。(除了
String
)谢谢你,但是,这不是我想要的,我想要标识本身作为代码中的字段,但是EF为我保存InnerID。你有什么想法吗?好吧,基类(第二个想法)不是路径。查看复杂类型文档(第一个想法),看看这是否适合您。