asp.net – 多个DataContext类是否适合?
|
为了在ASP.net 3.5应用程序中充分使用LinqToSql,有必要创建 DataContext classes(通常使用VS 2008中的设计器完成)。从UI的角度来看,DataContext是您希望通过LinqToSql公开的数据库部分的设计,并且是设置LinqToSql的ORM功能的一部分。 我的问题是:我正在设置一个使用大型数据库的项目,其中所有表以某种方式通过外键互连。我的第一个倾向是创建一个庞大的DataContext类来建模整个数据库。这样我可以在理论上(虽然我不知道在实践中是否需要这样做)使用通过LinqToSql生成的外键连接很容易地在代码中的相关对象之间插入相关对象等。 然而,在给出一些想法之后,我现在认为创建多个DataContext类可能更有意义,每个类与我的数据库中的特定命名空间或逻辑相关部分相关。我的主要担心是实时化和处理一个巨大的DataContext类,用于与数据库的特定区域相关的单独操作会对应用程序资源造成不必要的影响。另外,创建和管理比一个大的DataContext文件更容易。我会失去的是,数据库的一些遥远的部分将不能通过LinqToSql导航(即使一连串的关系在实际数据库中连接)。另外,会有一些表类可以存在于多个DataContext中。 关于多个DataContexts(对应于DB命名空间)是否适合代替(或除了)一个非常大的DataContext类(对应于整个DB)的任何想法或经验? 解决方法我不同意约翰的回答。 DataContext(或Linq to Entities ObjectContext)比连接更像是“工作单位”。它管理更改跟踪等。请参阅此博客文章以了解描述:Lifetime of a LINQ to SQL DataContext 这篇博文的四个要点是DataContext: >非常适合 Should be used very carefully after any SumbitChanges() operation. 考虑到,我不认为使用多个DataContext会造成任何损害 – 事实上,为不同类型的工作创建不同的DataContexts将有助于使您的LinqToSql更具可用性和组织性。唯一的缺点是您无法使用sqlmetal自动生成您的dmbl。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 获取ASP.NET中所有活动会话的列表
- 连字符前分割字符串 – asp.net c#
- asp.net-mvc-3 – ASP.NET MVC 3,Razor Views和便携式区域
- asp.net-web-api – ASP身份OAuth令牌 – 我应该在移动应用
- ASP.NET Core使用SkiaSharp实现验证码的示例代码
- asp.net-mvc – 已经处理了DbContext和autofac
- asp.net – Html.BeginForm()类型的扩展名
- asp.net-mvc-3 – 使用AutoMapper携带元数据查看模型的技术
- asp.net – ValidateRequest = False但是在行动中它仍然是T
- 本地化 – MVC 3中DataAnnotations的默认错误消息的整个列表
- asp.net-mvc – mvc 4 beginform with route nam
- asp.net-mvc – ASP.Net MVC:发送JSON到控制器
- asp.net-mvc – AntiForgeryToken在ASP.Net MVC
- asp.net-mvc – ASP.NET MVC 3列表到IEnumerable
- asp.net cookie,身份验证和会话超时
- asp.net-core – 如何在ASP.NET 5中使用“旧”依
- 在ASP.net中组合和高速缓存多个JavaScript文件
- asp.net – UpdatePanel中的DropDownList
- asp.net – Repeater中DropDownList的SelectedVa
- asp.net-mvc-3 – 滚动我自己的@ Html.BeginfBrm
