小白问几个和数据有关的问题,大神快来。怎么感觉现在论坛好不景气啊~~

hiose89 2017-03-04 06:35:15





1.刚在学ORM框架 ,用的是WebMatrix.Data 。没明白数据库到底需不需要硬外键,听好多人都只要軟外键,那这样
MODEL层的数据怎么生成算好?而asp.net MVC前台明明又只支持一个实体l对象。


2.ORM对于有外键的表做联合查询的时候 好像没有办法反射外键的实体。EF貌似会自己把外键填充进来。
但WebMatrix.Data 怎么弄?不然每次都是要到数据库查多次,再自己赋值,怎么解决这个问题?


顺便再问下大家有没有什么VS的好插件?推荐一下吗,最好是针对开发效率的。
...全文
246 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qgqchile 2017-03-07
  • 打赏
  • 举报
回复
引用 9 楼 qq_25095899 的回复:
可能是我太落后了,我还是喜欢“稍微接近于底层”的ado ,自己写sql
不落后,高性能系统 还是 自己写sql 实用, orm 优点就是快速开发 那叫一个方便,弄个论坛 数据量不大的系统还是很不错的 数据量大的话, EF 用多了人都变懒了 貌似几百万 的数据还是不成问题的
闭包客 2017-03-07
  • 打赏
  • 举报
回复
引用 6 楼 hiose89 的回复:
[quote=引用 4 楼 closurer 的回复:] 你使用的 ORM 没有帮你自动加载外键所依赖的实体,你只能自己写代码去做这个操作。 为什么不用 EF 呢?
因为几乎没有用过EF啊,所以不知道方不方便,而且现在用的是MYSQL 用现在的框架换数据库也只用把连接字符换一下就行。 EF如果要换数据库不知道会不会麻烦。EF生成实体的话,VS里面也没有MYSQL数据提供让选择[/quote] 如果换数据库很麻烦的话,是违背 ORM 的设计初衷的,所以我认为 EF 换数据库也不会麻烦。 数据提供程序的问题,我看到以前的同事是可以在 VS 里面选择的,但是我没有这样用过。
正怒月神 版主 2017-03-07
  • 打赏
  • 举报
回复
直接用ef就可以了。 ef的性能问题早300年前就解决了。
hiose89 2017-03-07
  • 打赏
  • 举报
回复
引用 4 楼 closurer 的回复:
你使用的 ORM 没有帮你自动加载外键所依赖的实体,你只能自己写代码去做这个操作。 为什么不用 EF 呢?
因为几乎没有用过EF啊,所以不知道方不方便,而且现在用的是MYSQL 用现在的框架换数据库也只用把连接字符换一下就行。 EF如果要换数据库不知道会不会麻烦。EF生成实体的话,VS里面也没有MYSQL数据提供让选择
大然然 2017-03-07
  • 打赏
  • 举报
回复
可能是我太落后了,我还是喜欢“稍微接近于底层”的ado ,自己写sql
hiose89 2017-03-06
  • 打赏
  • 举报
回复
引用 2 楼 starfd 的回复:
数据库主键、外键这是数据库相关的知识,跟orm其实并没任何关系 外键约束对数据库有依赖,一般为了迁移方便,很少直接使用数据库的约束,而是改为程序中进行逻辑处理 对于你第二个问题,一般就是分几次查询,EF是做了合并处理,至于你说的赋值就不明所以了,orm取出来的都是实体了,还赋值什么?
我没有用EF 查是小事,问题是当有外键的时候 查出来的外键数据没有自动填充到外键实体对像中。 当查一张有外键的表时,外键实体没有办法填充进来,所以用联合查询也没有用,只能再自己去查外键表,赋值给外键实体。orm不是都会自动映射填充自己和外键的实体吗
  • 打赏
  • 举报
回复
数据库主键、外键这是数据库相关的知识,跟orm其实并没任何关系 外键约束对数据库有依赖,一般为了迁移方便,很少直接使用数据库的约束,而是改为程序中进行逻辑处理 对于你第二个问题,一般就是分几次查询,EF是做了合并处理,至于你说的赋值就不明所以了,orm取出来的都是实体了,还赋值什么?
peng2739956 2017-03-06
  • 打赏
  • 举报
回复
别去看那些“重”ORM框架,性能不好还非常还太有依赖性,可以看下微型的ORM,比如 Dapper,Petapoco
  • 打赏
  • 举报
回复
事实上EF6不要太强大,真的好用。不要拿小数据量的头几次来说事,也不要拿海量的库来说事,那是设计上就有问题
闭包客 2017-03-06
  • 打赏
  • 举报
回复
你使用的 ORM 没有帮你自动加载外键所依赖的实体,你只能自己写代码去做这个操作。 为什么不用 EF 呢?

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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