内容简介:http://stackoverflow.com/questions/17477753/why-use-ef-5-x-dbcontext-generator-when-edmx-does-the-same-job
我发现这个EF 5 dbContext很难掌握.
在VisualStudio 2012中,当我选择
项目>添加新项目> ADO.Net实体数据模型
并选择AdventureWorks数据库文件,它会生成一个edmx文件(请求我在本地复制数据库文件).
现在就可以开始运行查询,例如
AdventureWorks_DataEntities entities = new AdventureWorks_DataEntities
var query = from p in entities.Products
where p.ListPrice >= 0
select p;
令我困惑的是,为什么我会用这个
Project > Add New Item > EF 5.X DBcontext Generator
是否可以将我的WPF控件绑定到数据库表?但是我的查询正在工作,我不能只绑定到edmx对象,毕竟我可以“看到”已经映射的Product.cs等表.
如果是正确的,那么使用EntityFramework是一个两步的过程
问题Part1:
步骤1:添加从数据库生成的新的edmx文件
步骤2:添加一个新的DbContext,它将自动检测上述edmx文件,并提供一个可绑定控件(如datagrids等)的dbcontext.
问题Part2:
我已经在我的edmx模型中已经看到Product.cs已经从第1步的Product表中映射了,为什么我不能直接绑定我的WPF控件,为什么上面的步骤2是必需的?
谢谢
当您添加新的“ADO .NET实体数据模型”时,除了创建EDMX之外,它还为您创建了DbContext,它是“AdventureWorks_DataEntities”.
所以,你不需要添加一个“EF 5.X DBcontext Generator”,这个项目已经存在了.如果在Visual Studio中单击.edmx文件左侧的箭头展开它,您将看到几个文件.其中两个将以“.tt”结尾.这些是T4模板,负责在修改EDMX时自动生成模型实体和DbContext.
希望澄清概念,直接回答您的问题:
问题1:你只需要第1步,“AdventureWorks_DataEntities”就是你的DbContext.如果您打开“AdventureWorks_DataEntities.cs”文件,您将看到此类继承自DbContext.
问题2:这是一个不同的问题,你应该打开一个单独的问题,询问如何使用实体框架绑定WPF.在这样做之前,建议您首先在线搜索,因为有很多资源可以解释这一点.例如,这个MSDN文章:
http://msdn.microsoft.com/en-us/data/jj574514.aspxhttp://stackoverflow.com/questions/17477753/why-use-ef-5-x-dbcontext-generator-when-edmx-does-the-same-job
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- git的工作上使用
- LiveData基础使用方式+工作原理(上篇)
- golang使用rabbitmq(一)工作队列
- 如何使用Git提高研发团队工作效率
- 使用rebase的Git工作流
- [译] 在 Android 使用协程(part II) - 在实际工作中使用
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
解密搜索引擎技术实战
罗刚 / 2011-6 / 69.80元
《解密搜索引擎技术实战-Lucene&Java精华版(附盘)》,本书主要包括总体介绍部分、爬虫部分、自然语言处理部分、全文检索部分以及相关案例分析。爬虫部分介绍了网页遍历方法和如何实现增量抓取,并介绍了从网页等各种格式的文档中提取主要内容的方法。自然语言处理部分从统计机器学习的原理出发,包括了中文分词与词性标注的理论与实现以及在搜索引擎中的实用等细节,同时对文档排重、文本分类、自动聚类、句法分析树......一起来看看 《解密搜索引擎技术实战》 这本书的介绍吧!
图片转BASE64编码
在线图片转Base64编码工具
MD5 加密
MD5 加密工具