随笔分类 - Entity Framework 6
摘要:11-3. 为一个”模型定义”函数返回一个计算列问题想从”模型定义”函数里返回一个计算列解决方案假设我们有一个员工(Employee)实体,属性有: FirstName, LastName,和BirthDate, 如Figure 11-3所示.Figure 11-3. An Employee ent...
阅读全文
摘要:11-2. 用”模型定义”函数过滤实体集问题想要创建一个”模型定义”函数来过滤一个实体集解决方案假设我们已有一个客户(Customer)和票据Invoice)模型,如Figure 11-2所示.Figure 11-2. Customer and Invoice in a model我们要想要创建一个...
阅读全文
摘要:第11章函数函数提供了一个有力代码复用机制, 并且让你的代码保持简洁和易懂。它们同样也是EF运行时能利用的数据库层代码.函数有几类: Rowset Functions, 聚合函数, Ranking Functions, 和标量值函数.函数要么确定,要么不确定。当用一些指定的值调用函数,而函数返回的结...
阅读全文
摘要:10-10. 为TPH继承的插入、更新、删除操作映射到存储过程问题TPH继承模型,想把它的插入、修改、删除操作映射到存储过程Solution假设数据库有一个描述不同种类的产品表(Product )(见Figure 10-13). 而且为这个表的每种产品创建了创建了派生模型,这个模型如Figure 1...
阅读全文
摘要:10-9. 在多对多关系中为插入和删除使用存储过程问题想要在一个无载荷的多对多关系中使用存储过程(存储过程只影响关系的连接表)解决方案假设有一个多对多关系的作者( Author)表和书籍( Book)表. 用连接表AuthorBook来做多对多关系,如 Figure 10-11.所示:Figure ...
阅读全文
摘要:10-8. 映射插入、修改、删除操作到存储过程问题想要映射插入、修改、删除操作到存储过程解决方案假设已有运动员实体模型,如Figure 10-8所示. 对应的数据库表如Figure 10-9所示. 我们想要用存储过程来执行插入,修改,删除操作。Figure 10-8. 运动员实体模型Figure 1...
阅读全文
摘要:10-7. TPH继承模型中使用存储过程问题用一个存储过程来填充TPH继承模型的实体解决方案假设已有如Figure 10-7所示模型. 我们有两个派生实体: Instructor(教员)和Student(学生).这个模型使用TPH继承方式,所以数据库中只有一个表. Person(人员)表有一个鉴别列...
阅读全文
摘要:10-6. TPT继承模型中使用存储过程问题想在一个TPT继承模型中使用存储过程解决方案假设已有如Figure 10-6所示模型. 在模型里, Magazine(杂志) and DVD继承于基类Media(媒体,译注:示例数据库中的表名其实为:Medium,你在做例子或是下文代码出现Medium,请...
阅读全文
摘要:10-5. 在存储模型中使用自定义函数问题想在模型中使用自定义函数,而不是存储过程.解决方案假设我们数据库里有成员(members)和他们已经发送的信息(messages) 关系数据表,如Figure 10-4 所示:Figure 10-4. A simple database of members...
阅读全文
摘要:10-4. 从存储过程返回一个复杂类型问题想在方法中使用一个返回复杂类型的存储过程解决方案假设我们已经有如Figure 10-3.所示的模型,该Employee (雇员)模型包含EmployeeId,Name和一个复杂类型的Address属性,Address包含Employee地址信息:它是包含ci...
阅读全文
摘要:10-3. 返回结果是一个标量值问题想取得存储过程返回的一个标量值.解决方案假设我们有如Figure 10-2所示的ATM机和ATM机取款记录的模型Figure 10-2. 一个ATM机和ATM机取款记录的模型我们想要用一个存储过程在指定机器和日期内返回所有的取款总额Listing 10-9 是这个...
阅读全文
摘要:10-2. 返回输出参数问题想获取存储过程里的一个或多个输出参数的值解决方案假设我们有一个像Figure 10-1所示的,出租车辆与租金收入的模型Figure 10-1.出租车辆与租金收入的模型我们想知道在指定日期里,收入了几笔租金和金额, 以及车辆的租凭情况. 存储过程Listing 10-7 就...
阅读全文
摘要:存储过程存储过程一直存在于任何一种关系型数据库中,如微软的SQL Server.存储过程是包含在数据库中的一些代码,通常为数据执行一些操作,它能为数据密集型计算提高性能,也能执行一些为业务逻辑. 当你使用数据的时候,有时你会通过存储过程来获取它们.在本章, 我们探讨一些EF在使用存储过程时,需要关注...
阅读全文
摘要:9-7. 在WCF服务中序列化代理问题从一个查询里返回一个动态代理对象,想要把它序列为一个POCO(Plain-Old CLR Objects)对象.实现基于POCO实体对象, 在运行时,EF会为每个实体自动生成一个派生类型,被称为动态代理对象,代理对象会为POCO类重载很多虚拟属性来注入执行操作的...
阅读全文
摘要:9-6. 管理断开时的并发问题想要确保只接受在WCF客户端并发令牌未被修改的实体。解决方案我们有一个如Figure 9-6所示的模型.Figure 9-6订单实体模型我们想通过WCF服务来更新一个order ,而要确保这个order 在我们上次取回后没有发生过其它修改。稍后我们将演示两个不同的方式....
阅读全文
摘要:9-5. 删除一个断开的实体问题我们要把一个把WCF上取回的对象做上删除的标志.解决方案假设我们有如Figure 9-5所示实体的支付与票据的模型.Figure 9-5. 一个支付与票据的模型我们的模型展示了支付记录与票据的关系。在应用程序中,我们用客户端与用WC封装EF数据访问交互. 在我们的例子...
阅读全文
摘要:因为看了《Entity Framework 6 Recipes 2nd Edition》这本书前面8章的翻译,感谢china_fucan. 从第九章开始,我是边看边译的,没有通读,加之英语造诣,所以纰漏百出,也请勿见笑,就当是鼓励! 有些小节空着是因为我写代码的时候,发现与书里的出入非常大,应该是e
阅读全文
摘要:9-4. Web API 的客户端实现修改跟踪问题我们想通过客户端更新实体类,调用基于REST的Web API 服务实现把一个对象图的插入、删除和修改等数据库操作。此外, 我们想通过EF6的Code First方式实现对数据的访问。本例,我们模拟一个N层场景,用单独的控制台应用程序作为客户端,调用W...
阅读全文
摘要:9-3. 找出Web API中发生了什么变化问题想通过基于REST的Web API服务对数据库进行插入,删除和修改对象图,而不必为每个实体类编写单独的更新方法. 此外, 用EF6的Code Frist实现数据访问管理.本例,我们模拟一个N层场景,用单独的客户端(控制台应用)来调用单独的基于REST服...
阅读全文
摘要:9-2. 用WCF更新单独分离的实体问题你想通过WCF为一个数据存储发布查询,插入,删除和修改,并且使这些操作尽可能地简单此外,你想通过Code First方式实现EF6的数据访问管理解决方案假设有如Figure 9-2所示模型.Figure 9-2. 博客的posts(博文)和comments(评...
阅读全文

浙公网安备 33010602011771号