本人初学 Entity Framework,望指点。
最近我在看ADO.NET Entity Framework,英文文档看不懂,中文的资料不是很全,忘大神指点1,2.困惑1:根据ADO.NET 实体数据模型 创建模型时,是一次性勾选所有的表,视图,和存储过程吗?还是分类别分别创建。   盼指点困惑2:假设分类别创建模型,或者说一张表(或关联表一起)创建一个模型,一个庞大的项目会创建N个模型,而创建时会在web.confing自动生成一个连接字符串,假设有5000个模型,web.confing不是要撑上天吗?盼指点困惑3:假设在创建时选择如下,
此时,后台该如何设置连接字符串呢,(web.config如何设置一个通用的连接字符串呢?),我看自动生成的edmx文件的类,有3个构造函数,
public Entities() : base("name=Entities", "Entities")
public Entities(string connectionString) : base(connectionString, "Entities")
 public Entities(EntityConnection connection) : base(connection, "Entities")
我分别传这些参数进去,发现均不能从数据库中取数据,报错。盼指点问题可能有些小白,望指点1 2,我就像配置一个如asp.net中的一个简单的连接字符串,让所有的模型都能用这个字符串,这不挺好吗。Entity FrameworkADO.NET

解决方案 »

  1.   

    设置一个既可,不需要什么“分类别创建”。你用的就选上。如果暂时没有发现要用,以后才发现要用的,那么就再次打开设置窗口选上新的。web.config会自动记录自动生成的字符串。如果你一定要修改源代码,那么你应该找到人家读取web.config的源代码。绝不是在找不到这个代码的情况下胡乱去调用初始化方法。对于自动代码生成的代码,最好不要去修改源代码。否则你会“死得很惨”,因为你纠结到“我到底还要不要修改设计呢”里边拔不出来了“。如果修改设计,那么你原来对人家自动生成的源代码的修改全都被人家自动覆盖、而丢弃了;如果不修改设计,那么搞这个开发就是“废物”。因此实际上我们在可能时候,应该尽量少用“代码生成器”式的东西。少用 Entity Framework。即使它是微软开发的。我们使用它,仅仅是一开始给业余开发员练手、“了解一下”的时候才用。
      

  2.   

    你使用的database模式,就是从数据库生成实体模型,操作的时候选择你需要的表、视图、存储过程。建议使用codefirst模式,既可以从实体生成新的数据库,也可以映射到现有的数据库。欢迎访问 Entity Framework 社区 http://www.ef-community.com