Entity Framework在很多表情况下怎样添加数据库表

liuswi 2014-07-09 08:44:08
刚接触Entity Framework,看教程上面都是新建一个.edmx文件,然后选择数据库表添加到上面
,如果表有好几十个,是都添加到一个.edmx文件an上,还是创建多个.edmx文件
...全文
4364 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
fljandy 2014-10-19
  • 打赏
  • 举报
回复
同问。 我看到好多例子,都不用 edmx文件 直接用这个 DbContext 好像可以直接映射的。 是不是????
  • 打赏
  • 举报
回复
引用 8 楼 aday 的回复:
用Code First方式比较好,不过EF的Code First还是不少缺陷,比如不能定义默认值,比如不能自定义索引(除非采用SQL语句),最让人无法接受的是关联配置,居然是反的,比如Person的DeptID关联Dept的ID,居然是在Dept的构造函数里面设置与Person关联,这样只要和Dept关联的表,都要倒回来对Dept进行设置,完全是反向的操作,很麻烦,也很别扭。
我现在不用 EF 了,不是很清楚是否连个索引都不会创建。 不过你说的后边这个有个逻辑问题,人家到底是想实现“Dept包含Person呢?还是Person关联Dept呢?”,你看起来是把人家的包含关系硬说成是你的关联关系了。
  • 打赏
  • 举报
回复
我想你其实是想找一个连“自己写映射”也没有的 DbContext 吧?! 目前来说在.net中还真的没有。 其实 EF 确实很强调繁琐操作,从而也造成很多意外。如果 code first 可以做到“仅仅在第一次访问某个实体时才去创建数据库表”,那么它就不需要繁琐的配置,更加智能了。
  • 打赏
  • 举报
回复
引用 2 楼 liuswi 的回复:
[quote=引用 1 楼 q107770540 的回复:] 一般是将所有表都放在一个edmx文件里
如果是比较大的项目里面,有好几十个表,也是这样做吗?博客园上有的文章,没用这种方法添加,是自己写映射,这两者哪个好些?[/quote] 你确定那个文章是在讨论你这种 ef 吗?如果不确定是还是不是ef就发这个问题了,先去博客园跟作者纠结清楚吧。
aday 2014-10-19
  • 打赏
  • 举报
回复
用Code First方式比较好,不过EF的Code First还是不少缺陷,比如不能定义默认值,比如不能自定义索引(除非采用SQL语句),最让人无法接受的是关联配置,居然是反的,比如Person的DeptID关联Dept的ID,居然是在Dept的构造函数里面设置与Person关联,这样只要和Dept关联的表,都要倒回来对Dept进行设置,完全是反向的操作,很麻烦,也很别扭。
moonwrite 2014-07-09
  • 打赏
  • 举报
回复
EF有三种方式 Db First Model First(你现在用的方式) Codel First 一个edmx对应一个数据库
lili20090907 2014-07-09
  • 打赏
  • 举报
回复
你如果想省事可以直接放一个里面,如果想明确就一个表写一个
liuswi 2014-07-09
  • 打赏
  • 举报
回复
引用 1 楼 q107770540 的回复:
一般是将所有表都放在一个edmx文件里
如果是比较大的项目里面,有好几十个表,也是这样做吗?博客园上有的文章,没用这种方法添加,是自己写映射,这两者哪个好些?
q107770540 2014-07-09
  • 打赏
  • 举报
回复
一般是将所有表都放在一个edmx文件里
winner2050 2014-07-09
  • 打赏
  • 举报
回复
你用的版本太旧了。 现在新版的可以拆分。
小猪八Q 2014-07-09
  • 打赏
  • 举报
回复
引用 1 楼 q107770540 的回复:
一般是将所有表都放在一个edmx文件里
引用 3 楼 lili20090907 的回复:
你如果想省事可以直接放一个里面,如果想明确就一个表写一个
统一将所有的都放在edmx里面,可以方面的对所有表进行控制,包括各个表之间的联合查询等等 你可以将独立的业务逻辑的表分开放置,但最好还是放到一个里面。

17,740

社区成员

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

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