如何搭建.NET Entity Framework分布式应用系统框架

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何搭建.NET Entity Framework分布式应用系统框架相关的知识,希望对你有一定的参考价值。

参考技术A   这个问题,还没问到具体的点子上,EF跟分布式应用系统没有太大的关系。如果要问 使用EF进行数据库的分布式存储,比如主从分离 。但是我感觉,用EF做数据的分布式,还是有点不太合适。
由于EF实在是一个太庞大的ORM,所以针对于大型的数据,还是太消耗资源,性能有些跟不上。而且EF的侵入性太强,造成了系统的耦合度就非常的高,一旦用了就很难更换了。现在大多流行一些比较轻量级的ORM,大项目更是如此,不会使用这么沉重的ORM了。比如Dapper,Petapoco等

如何使用扩展方法加入 .NET Entity Framework 中的多个列?

【中文标题】如何使用扩展方法加入 .NET Entity Framework 中的多个列?【英文标题】:How to join on multiple columns in .NET Entity Framework with extension methods? 【发布时间】:2014-09-20 00:25:11 【问题描述】:

我正在尝试执行这样的查询:

SELECT *
FROM pd AS p
JOIN wh AS w
ON p.ID = w.ID
AND p.ln = w.ln
AND p.wID = w.WID
WHERE w.zID = '1234'

到目前为止,我可以像这样访问表格:

WEntity entity = new WEntity();
// I can call the entities like this: entity.pd and entity.wh.

我用谷歌搜索并找到了一列的示例,例如。

var data = entity.pd
                 .Join(entity.wh,
                       p => p.ID,
                       w => w.ID,
                       (p, w) => p).Where( ... );

【问题讨论】:

您是否在数据类上设置了集合属性?请给他们看。如果一切都正确相关,则不需要进行 Join。 我没有收藏属性。这些表在应用程序之前就存在了,所以这是首先创建数据库而不是代码。 【参考方案1】:

这可能会有所帮助 - 假设这是您所追求的,它有几个连接:

post = (From ca In db.be_Categories Join c In db.be_PostCategory On ca.CategoryID Equals (c.CategoryID) Join p In db.be_Posts On c.PostID Equals (p.PostId) Where p.PostRowID = id Select New PostDTO With .PostCategory = Nothing, .PostDateCreated = p.DateCreated, .PostGuid = p.PostId, .PostId = p.PostRowID, .PostText = p.PostContent, .PostTitle = p.Title).FirstOrDefault

【讨论】:

以上是关于如何搭建.NET Entity Framework分布式应用系统框架的主要内容,如果未能解决你的问题,请参考以下文章

ADO.NET Entity Framework 如何查看T

如何使用 Entity Framework ASP.Net MVC 5 删除多条记录? [关闭]

如何在 .NET Core 3.0 Entity Framework 中执行组加入?

如何从 ADO.NET Entity Framework 中的模型生成表?

如何使用 Entity Framework 6 从 .Net 应用程序访问雪花数据库

如何在 ASP.NET 5 中将 Entity Framework 6 与 MySQL 一起使用?