EF4.1 如何将属性映射到列

Posted

技术标签:

【中文标题】EF4.1 如何将属性映射到列【英文标题】:EF4.1 How to map properties to columns 【发布时间】:2012-02-10 12:16:15 【问题描述】:

假设我有这个课程:

class MyDataStore

   public Guid Id  get; set; 
   public int DataStoreType  get; set; 
   public Name  get; set; 
   public List<string> ExtendedProperties  get; set;  

我的数据库中有以下表格:

MyDataStore
Id            Name     DataStoreType
-----------------------------------------
someguid1     ABC         1


MyDataStoreExtended
DataStoreId     Property1    Property2
----------------------------------------
someguid1        value1       value2

另一个表存储我的“MyDataStore”具有的扩展属性:

MyDataStoreMetadata
Property     DataStoreType
-------------------------------------------
Property1      1
Property2      1
Property3      2
Property4      2
Property5      2

现在有哪些不同的方法可以使用 EF 4.1 代码优先将此数据架构映射到我的“MyDataStoreClass”?

注意:我不想将“MyDataStoreExtended”类作为我的 POCO,只是想用它来存储数据。

【问题讨论】:

ExtendedProperties 属性中应该包含什么? MyDataStoreExtended.Property1MyDataStoreExtended.Property2? 【参考方案1】:

根据您使用它的位置,您可以将 MyDataStore 包装在 MyDataStoreExtended 中:

class MyDataStoreExtended

   public MyDataStore MyDataStore  get; set; 
   public int DataStoreId  get; set; 
   public string Property1  get; set; 
   public string Property2  get; set; 

【讨论】:

以上是关于EF4.1 如何将属性映射到列的主要内容,如果未能解决你的问题,请参考以下文章

在 EF 4.1 中映射子类是不是需要 ID 属性?

EF 4.1:使用 Fluent 映射从 Code First 中查找关键属性类型

如果列中存在数据,如何将列名映射到查询响应中?

Excel从列到列的映射

使用 EF4.1 Fluent API 将具有导航属性的实体拆分为两个表

将行优先数组映射到列优先特征矩阵