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();
}
}
...全文
51 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zswanghaiyan 2008-11-16
  • 打赏
  • 举报
回复
欢迎大家来到这个交流大家庭,
本群技术交流,疑难解答。大家 一起努力...
.NET开发群号: 38850938
Microsoft .NET Framework 3.5 Service Pack 1 是一个累积更新,包含很多基于 .NET Framework 2.0、3.0 和 3.5 不断生成的新功能,此外还包括 .NET Framework 2.0 Service Pack 2 和 .NET Framework 3.0 Service Pack 2 累积更新。 .NET Framework 3.5 Service Pack 1 版提供了以下新功能和改进: ASP.NET 动态数据,它提供了丰富的框架,从而使用户可以快速进行数据驱动的开发,而无需编写代码;ASP.NET AJAX 的一项新增功能,对管理浏览器历史记录提供了支持支持后退按钮)。有关更多信息,请参见 What’s New in ASP.NET and Web Development(ASP.NET 和 Web 开发中的新增功能)。 对公共语言运行时的核心改进包括:改进了 .NET Framework 本机映像的布局、选择不再对完全受信任的程序集进行强名称验证、提高了应用程序启动性能、改进了生成的代码以缩短端对端应用程序执行时间、选择在 ASLR(地址空间布局随机化)模式下运行托管代码(如果操作系统支持)。此外,从网络共享打开的托管应用程序在完全受信任环境下运行时与本机应用程序具有相同的行为。 提高了 Windows Presentation Foundation 的性能,包括缩短了启动时间,提高了与位图效果有关的性能。WPF 的其他新增功能包括:改善了对业务线应用程序、本机初始屏幕、DirectX 像素着色器的支持,并且新增了 WebBrowser 控件。 ClickOnce 应用程序发行者可以决定在适当情况下不进行签名和加密,开发人员可以编程方式安装 ClickOnce 应用程序以显示自定义署名,并且 ClickOnce 错误对话框支持链接到 Web 上应用程序特定的支持网站。 实体框架是从现有的一套 ADO.NET 数据访问技术发展而来的。利用实体框架,开发人员可以按照应用程序特定的域模型(而不是基础数据库模型)来针对关系数据库进行编程。有关更多信息,请参见 Getting Started with the Entity Framework(实体框架入门)。实体框架还引入了一些其他功能,包括支持 SQL Server 2008 的新类型、默认实体图形序列化和实体数据源。在此版本中,实体框架支持 SQL Server 2008 中的新日期和文件流功能。图形序列化工作可帮助开发人员生成将全部图形建模为数据协定的 Windows Communication Foundation (WCF) 服务。实体数据源为希望使用实体框架的 ASP.NET 应用程序构建者提供了传统的数据源体验。 LINQ to SQL 新增了对 SQL Server 2008 中的新日期和文件流功能的支持ADO.NET Data Services Framework 由满足以下条件的模式和库组合而成:支持将数据公开为一项基于 REST(具象状态传输)的灵活数据服务,企业网络内部或整个 Internet 上的 Web 客户端都可以使用该服务。ADO.NET Data Services Framework 支持基于任何数据源创建数据服务。通过与 ADO.NET Entity Framework 的充分集成,可以轻松公开基础存储架构的概念视图模型。可以轻松地从任一平台访问使用 ADO.NET Data Services Framework 创建的服务以及兼容的 Windows Live (dev.live.com) 服务。针对运行在 Microsoft 平台上的客户端应用程序提供了一组客户端库,以简化与数据服务的交互。例如,基于 .NET Framework 的客户端可以使用 LINQ 查询数据服务,也可以使用简单的 .NET Framework 对象层更新此服务中的数据。 现在,Windows Communication Foundation 改进了对互操作性的支持,增强了部分受信任情况下的调试体验,并且扩展了整合协议支持以便在 Web 2.0 应用程序中可以进行更广泛的应用,从而使 DataContract 序列化程序变得更易于使用。 用于 SQL Server (SqlClient) 的 .NET Framework 数据提供程序新增了对 SQL Server 2008 中的文件流和稀疏列功能的支持
英文版:Professional ADO.NET 3.5 with LINQ and the Entity Framework 内容简介 《ADO.NET 3.5高级编程:应用LINQ&Entity; Framework》由知名的微软数据库权威专家Roger Jennings编写,凝聚了Roger多年的数据库编程经验,具有很强的指导性和实用性。《ADO.NET 3.5高级编程:应用LINQ&Entity; Framework》详细介绍了LINQ和Entity Framework技术的方方面面,通过丰富的示例程序演示了如何使用这些新兴技术来提高编程效率。主要包含5部分内容:ADO.NET 3.5概览,LINQ架构和基本实现,LINQ to SQL等各种领域相关的LINQ实现,ADO.NET实体框架介绍,以及如何实现ADO.NET实体框架。通过学习《ADO.NET 3.5高级编程:应用LINQ&Entity; Framework》,您将轻松掌握如何利用LINQ和Entity Framework的前沿查询技术和对象/关系映射技术来推动企业级计算的革新。 作者简介 作者:(美国)詹宁斯(Roger Jennings) 译者:孟兆炜 Roger Jennings是一名专业的作者和顾问。他在Microsoft.NET n层结构、客户/服务器数据库应用程序、数据密集的基于Windows通信基础(Windows Communication Foundation,WCF)的Web服务等方面有很深的造诣。从Professional Extensions for Visual Basic 2.0(代号Rawhide)开始,他就是Visual Basic和sual Studio所有版本的beta测试人员。 Roger先生编写的25本计算机方面书籍的印刷量已经超过125万册,并被翻译成20多种语言。他编写的书籍包括:Wiley/WROX出版的Expert One-On-One Visual Basic 2005Database Programming, SAMS出版的3个版本的Database Developer's Guide to l/is ual Basic,SAMS出版的两个版本的Access Developer's Guide,QUE出版的11个版本的Special Edition Using Microsoft Access,QUE出版的两个版本的Special Edition Using Windows NT4.0Server。他还编写了多本面向开发者的书籍,内容涉及Windows 3.1多媒体、Windows 95、Windows 2000服务器、活动目录组策略、Visual Basic Web服务以及微软Office InfoPath 2003SP-1等方面。Roger先生担任Redmond媒体研究组织的Visual Studio Magazine杂志及其前身Visual Basic Programmer’s Journal的特约编辑已经长达15年。他也在Redmond Magazine上发表文章,并且负责Tech Briefs专栏以及Redmond Developer News的封首语的写作。 Roger先生有长达30年的计算机相关领域经验,他最初从事开发由Wang 700型计算器和后继的Wang BASIC微计算机所驱动的实时中间数据获取和化学过程控制系统。他是Oak Leaf Systems公司(一家位于北加利福尼亚的软件顾问公司)的主要开创者,也是Oak Leaf Systems博客的作者。他的演示作品Oak Leaf Code of Federal Regulations(CFR)ASENET Web Service荣获微软最佳.NET横向解决方案奖。 目录 第Ⅰ部分 ADO.NET3.5概览 第1章 使用ADO.NET3.5提供的新方法访问数据 第Ⅱ部分 LINQ简介 第2章 理解LINQ的体系结构和实现 第3章 使用LINQ to Objects执行LINQ查询表达式 第4章 使用高级查询操作符和表达式 第Ⅲ部分 使用领域相关的LINQ实现 第5章 使用LINQ to SQL和Linq Data Source 第6章 使用LINQ to Data Set查询Data Table 第7章 使用LINOtoXML处理文档 第8章 探索第三方和新兴的LINO实现 第Ⅳ部分 ADO.NET实体框架介绍 第9章 使用实体数据模型提升数据抽象级别 第10章 定义存储层、概念层和映射层 第11章 Entity SQL简介 第Ⅴ部分 实现ADO.NET实体框架 第12章 利用对象服务和LINQ to Entities 第13章 更新实体和复杂类型 第14章 将实体绑定到数据感知控件 第15章 使用实体框架作为数据源

8,497

社区成员

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

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