Tag: 关注点分离

从entity framework数据库生成接口首先自动生成代码

我在Visual Studio 2010中使用MVC3,C#4.0和Entity Framework。我正在从数据库生成edmx和Designed.cs文件。 然后,我将从Designer.cs文件中的实体生成接口,作为我的nLayer结构的一部分。 原始代码是 public partial class DataEntrySummary : EntityObject 然后成为 public partial class DataEntrySummary : EntityObject, Mb.Interface.IDataEntrySummary 我担心的是,当数据库发生变化(它会)并重新生成edmx文件时,我将失去所有的接口定义。 有没有更好的方法来实现相同的结果,而无需重新生成接口。 谢谢

从Controller访问数据库实体

TL;博士 在一个很好的设计。 应该在单独的业务逻辑层(在asp.net MVC模型中)处理访问数据库,还是可以将IQueryable s或DbContext对象传递给控制器​​? 为什么? 各自的优点和缺点是什么? 我正在用C#构建一个ASP.NET MVC应用程序。 它使用EntityFramework作为ORM。 让我们稍微简化一下这个场景。 我有一个可爱的蓬松小猫数据库表。 每只小猫都有小猫图像链接,小猫蓬松指数,小猫名称和小猫ID。 这些映射到EF生成的名为Kitten POCO。 我可能会在其他项目中使用此类,而不仅仅是asp.net MVC项目。 我有一个KittenController应该在/Kittens取得最新的蓬松小猫。 它可能包含选择小猫的一些逻辑,但没有太多的逻辑。 我一直在和朋友争论如何实现这一点,我不会透露双方:) 选项1:控制器中的db: public ActionResult Kittens() // some parameters might be here { using(var db = new KittenEntities()){ // db can also be injected, var result = db.Kittens // this explicit query is here .Where(kitten=>kitten.fluffiness > 10) […]