草庐IT

Entity-Framework

全部标签

c# - View 中具有多个(单独的)键的 Entity Framework 关联

我在设置EntityFramework4模型时遇到问题。联系人对象作为可更新View在数据库中公开。同样由于数据库的历史,这个ContactView有两个不同的键,一个来自遗留系统。因此,其他一些表使用“ContactID”引用联系人,而其他较旧的表使用“LegacyContactID”引用联系人。由于这是一个View,数据库中没有外键,我正在尝试在设计器中手动添加关联。但是流畅的关联似乎没有提供指定引用哪个字段的方法。我如何构建这个模型?publicclassvwContact{publicintKeyField{get;set;}publicstringLegacyKeyField

c# - 已设置 EF6 'DbConfigurationClass' 但未发现此类型 - 多个 DbContexts 和 DbConfigurations

我有一个解决方案,其中我们有两个DbContext,我们正在从EF4迁移到EF6。旧的DbContext是代码优先的,我们主要使用较新的生成的db-first,但由于外部依赖性,两者都需要运行。我的类(class)是这样的:namespaceOld.Busted.EF.DAL{[DbConfigurationType(typeof(Old.Busted.EF.DAL.OldConfiguration))]publicclassOldContext:DbContext[...]publicclassOldConfiguration:DbConfiguration[...]}namespa

c# - Entity Framework如何实现读写分离

我有一个使用“主/从复制”的数据库设置。我有一个主人和(至少)一个奴隶,可能有ℕ个奴隶。从这里开始,为简单起见,我将讨论一主一从,因为确定使用哪个从包括一些与手头的实际问题无关的业务逻辑。这是设置示意图(带有ℕ从站):在应用程序中(当前使用Dapper)我有以下简化代码:abstractclassBaseRepo{privatereadonlystring_readconn;privatereadonlystring_writeconn;publicBaseRepo(stringreadConnection,stringwriteConnection){_readconn=readCo

C#、EF 和 LINQ : slow at inserting large (7Mb) records into SQL Server

这个问题有一个长版和一个短版。短版:为什么LINQ和EF在将单个大(7Mb)记录插入远程SQLServer数据库时如此缓慢?这是长版(提供一些有关变通方法的信息,可能对其他读者有用):以下所有示例代码都运行正常,但由于我的用户在欧洲,而我们的数据中心位于美国,所以运行速度非常慢。但是如果我在美国的VirtualPC上运行相同的代码,它会立即运行。(不,遗憾的是我的公司希望将所有数据保留在内部,所以我不能使用Azure、亚马逊云服务等)我的很多公司应用程序都涉及从Excel读取/写入数据到SQLServer,而且通常,我们希望将Excel文件的原始副本保存在SQLServer表中。这很简

c# - 多目标 .NET Framework 4 和 Visual Studio 2012

我已经在我的机器上安装了VisualStudio2012Professional。我没有安装VisualStudio2010,但我想继续使用.NETFramework4开发我的应用程序,但我的VisualStudio2012上没有这个选项。看图片:我不知道如何解决这个问题,因为我点击“更多框架...”链接并尝试安装Multi-Targetingfor.NET4.0.3(安装在我的机器上),但它不起作用。它说仍然安装了这个版本的框架。我该怎么做才能解决这个问题?Obs:我在C#和VB.NET中有很多.NET4.0项目,我需要将这些项目与.NET4.0上的新项目一起保留。

c# - 找出项目在哪个页面上

我在我的应用程序中使用带有EntityFramework的LINQ。我有存储库方法来获取这样的数据页面:publicIEnumerableGetPageData(intorderId,intpage,intitemsPerPage){varsamples=_context.Set().Where(s=>s.OrderId==orderId).OrderBy(s=>s.Id).Skip(itemsPerPage*page).Take(itemsPerPage);returnsamples;}我想要另一个存储库方法,以便我可以检索样本所在的页面。方法签名类似于:publicintGetPa

c# - 使用 Entity Framework 持久化状态模式

我目前正在使用MVC3开发一个项目。我已经分离了我的关注点,所以有诸如核心、存储库、UI、服务等项目。我已经实现了存储库、UnitOfWork和最重要的状态模式。我正在使用EntityFramework4.3来保存我的数据,但我遇到了一个相当烦人的情况,涉及到当前状态的持久化。以下是一些类示例:publicclassRequest{publicintRequestId{get;set;}publicStateCurrentState{get;set;}}publicabstractclassState{[Key]publicstringName{get;set;}publicvirtu

c# - Entity Framework 6.1 更新记录的子集

我有一个View模型,它只封装了数据库模型属性的一些。View模型包含的这些属性是我想要更新的唯一属性。我希望其他属性保留它们的值(value)。在我的研究过程中,我发现this答案似乎非常适合我的需求,但是,尽管我尽了最大努力,但我无法让代码按预期工作。这是我想出的一个孤立的例子:staticvoidMain(){//PersonwithID1alreadyexistsindatabase.//1.UpdatetheAgeandName.Personperson=newPerson();person.Id=1;person.Age=18;person.Name="Alex";//2.

c# - EF 6 - 代码第一个无效的一对一外键关系

设计背景:我正在尝试为以下数据库结构创建代码优先EF6映射:数据库设计如下:我们没有将“CustomerID”作为所有相关实体(就业、支出、收入等)的外键,而是有一个包含CustomerID的CustomerRelationship表,然后一个“RelatedID”列,它将包含相关实体的键。例如,假设我为CustomerID=1添加了一条就业记录,那么将发生以下情况:CreaterecordinCustomerRelationship,settingCustomerID=1RelatedID={newautogeneratedEmploymentID,letssay5}Customer

c# - Entity Framework 5 过滤并包含导航属性

我想找到一种使用Linq将导航属性过滤到相关实体子集的方法。我知道围绕这个主题的所有答案都建议使用匿名选择器,例如:query.Where(x=>x.Users.Any(y=>y.ID==actingUser.ID)).Select(x=>new{Event=x,Discussions=x.Discussions.Where(actingUser.GenerateSecurityFilterFor())}).OrderBy(x=>x.Discussions.Count()).ThenBy(x=>x.Event.Name);但是,由于我们查询生成的一般性质,这明显不够理想,而且如果您抛出