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

月影 2008-11-03 11:21:56
如下定义类,实体框架会报告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();
}
}
...全文
56 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zswanghaiyan 2008-11-16
  • 打赏
  • 举报
回复
欢迎大家来到这个交流大家庭,
本群技术交流,疑难解答。大家 一起努力...
.NET开发群号: 38850938

8,494

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧