ADO.NET Entity Framework 支持属性的存储方式吗?

月影 月影 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
如下定义类,实体框架会报告DepartmentID没有Setter,难道实体框架不能指定一个Storage属性(像LINQ 2 SQL一样)?如果真的不能指定,那实在令我太失望了。
因为DepartmentID属性是不能允许类的客户改变的,所以不能有setter属性,如果为了使用实体框架就必须开放Setter,那实在令人不爽了。
如果有什么方法能够建立只读属性,又能让实体框架的映射机制工作,还望高手不吝赐教!万分感谢。

[EdmEntityType]
public class Department : EntityObject
{
private int departmentID;
private string name;
private decimal budget;
private DateTime startDate;
private int administrator;

[EdmScalarProperty(EntityKeyProperty=true, IsNullable=false)]
public int DepartmentID
{
get
{
return departmentID;
}
}

[EdmScalarProperty]
public string Name
{
get
{
return name;
}
set
{
this.name = value;
}
}

[EdmScalarProperty]
public decimal Budget
{
get
{
return budget;
}
set
{
this.budget = value;
}
}

[EdmScalarProperty(IsNullable=false)]
public DateTime StartDate
{
get
{
return startDate;
}
set
{
this.startDate = value;
}
}

[EdmScalarProperty]
public int Administrator
{
get
{
return administrator;
}
set
{
this.administrator = value;
}
}

public static Department[] GetAllDepartment()
{
string connectionString = ConfigurationManager.ConnectionStrings["SchoolEntities"].ConnectionString;
ObjectContext context = new ObjectContext(connectionString);
context.DefaultContainerName = "SchoolEntities";
ObjectQuery<Department> query = context.CreateQuery<Department>("[Department]");

return query.ToArray();
}
}
...全文
评论 1
收藏 已收藏
分享
返回顶部
月影
LINQ 8,492 成员 4,736 内容