ADO.NET Entity Framework 支持属性的存储方式吗?
如下定义类,实体框架会报告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();
}
}
因为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();
}
}
...全文
相关推荐
ADO.NET sql、LINQ to sql、ADO.NET Entity Framework(EF)数据库连接性能比较
最后是ADO.NET Entity Framework,它是一个全面的ORM框架,首次在.NET Framework 3.5 SP1中发布,后续版本中得到了不断优化。
ADO.NET Entity Framework 教程
综上所述,ADO.NET Entity Framework 不仅是一个强大的 ORM 工具,也是现代 .NET 开发中不可或缺的一部分。
ADO.NET Entity Framework 增删改查
什么是 ADO.NET Entity Framework?
ADO.NET Entity Framework 开发实践
### ADO.NET Entity Framework 开发实践#### 一、ADO.NET Entity Framework 概览**ADO.NET Entity Framework**(简称 EF
ado.net entity framework 进阶书
### ADO.NET Entity Framework 进阶知识点解析#### 一、ADO.NET Entity Framework 概述ADO.NET Entity Framework(简称 EF)


LINQ
