【发布时间】:2011-04-04 05:05:06
【问题描述】:
是否可以使用 EF 4.0 映射以下 POCO 类?
public class MyClass
{
private string _myData;
public MyClass()
{ }
public MyClass(string myData)
{
_myData = myData;
}
public string MyData
{
get
{
return _myData;
}
}
}
在 NHibernate 中,我认为当我在映射中使用 Access 属性时有可能:
<class name="MyClass" table="MyTable">
<property name="MyData" access="field.camelcase-underscore" column="MyCol" type="string" length="50" />
</class>
我想知道 EF 4.0 中是否有一些 Access 等价物?目前,只有在将受保护的 setter 添加到 MyData 属性时,我才能映射该类:
public string MyData
{
get
{
return _myData;
}
protected set
{
_myData = value;
}
}
它可以工作,但对于遗留类,这意味着更新所有没有设置器的属性。
编辑:
我更新了最后一个代码示例,因为它也不适用于私有 setter。 Setter 必须至少受到保护。如果 setter 是私有的或不存在,则抛出以下异常:
System.InvalidOperationException: 映射和元数据信息可以 找不到 EntityType 'MyNamespace.MyClass'。
【问题讨论】:
-
没有私人二传手会怎样?
-
我在问题中添加了描述。
-
当,System.InvalidOperationException!我有点希望它只是不包括它,我可以使用私有字段来使某些东西不持久:stackoverflow.com/questions/3595404/…
标签: .net entity-framework mapping entity-framework-4