.NET Framework

当使用EF代码改变数据库模式时,最简单的做法是什么?

我第一次使用EF代码。我有一个现有的生产数据库,我首先使用EF 4.3.1代码,一切正常。现在我刚刚更新了我的数据库模式,并得到了例外。 System.InvalidOperationException:支持“MyDbContext”数据库已创建。考虑使用代码优先迁移来更新数据库(http://go.microsoft.com/fwlink/?LinkId=238269)。 ..
发布时间:2017-08-05 19:59:52 .NET Framework

实体框架 - 与假外键的关系(db中没有外键)

我有很多表具有指向翻译表的TextID列。翻译表还需要使用LanguageID来获取所需语言的翻译文本。我的问题是我的数据库中没有LanguageID,它是在系统中预定义的,我不知道如何使用Fluent API定义它,也就是说,这可以是我的模型: public partial class MyEntity { public short ID {get;组; } public Nu ..

实体框架代码首先使用Fluent API映射外键

我有一个用户可以有几个地址的情况。因此,我在我的用户类上有一个ICollection。但是我也希望用户能够选择一个默认的地址。所以我做了以下工作: public class User { public int Id {get;组; } public int? DefaultAddressId {get;组; } [ForeignKey(“DefaultAddressId”)] ..

实体框架代码第一:一对多和多对多关系到同一个表

我的项目中有一个用户模型和一个事件模型。事件有一个创建者(用户)并且有参与者(用户),所以事件与用户有一对多关系,并且与同一个表的多对多关系。 我首先是一对一的关系,如下所示: 公共课活动 { ... public int CreatedById {get;组; } public virtual User CreatedBy {get;组; } ... } ..

代码优先迁移的命名约定

我们正在使用代码优先迁移来保持数据库和模型的同步。目前,我们将版本号作为迁移的名称,显然无法实现。 问题是,具有相同名称的多个迁移由不同开发人员独立于其本地数据库创建。这导致了一些奇怪的行为,因为 IMigrationMetadata.Id 因为时间戳而不同,但是类是部分同名的。 调用这些迁移的方法是什么?这些例子总是可笑地过于简单:例如添加属性读者导致迁移 AddReaders 。 ..

实体框架 - 加载相关实体

对不起,标题不是更具体 - 我不知道如何简洁的描述。 我有一个多对多关系的旅行和位置,除了位置不需要知道使用它们的行程之外,这是很简单的。我创建了这些实体来表示: public class Trip { public int TripId {得到;组; } public virtual IList TripLocations {get;组; } ..
发布时间:2017-08-05 19:56:56 .NET Framework

在代码第一实体框架中手动编辑数据库

我已经尝试使用MVC 3的EF 4.1(代码第一个)。我正在考虑应用程序何时需要更改。我测试了几个场景。我喜欢在模型(我的POCO)更改时手动编辑数据库的想法。 当我更改模型时,ASP.NET错误: “支持”CTCMContext '从创建数据库以来,上下文已经发生变化,手动删除/更新数据库...“ 现在,它说我可以”手动更新数据库“,但我已经做了,仍然得到相同的错误。我错过了什 ..

实体框架4 - 在持久性不知情的上下文中将非公共属性映射到CTP5(代码第一)

我知道这个问题已经有了解决方案(例如:这个问题),但是我真的不能将映射逻辑附加到域(POCO类)所在的同一个程序集中。 是否有其他方式? 我发现这个好的博客帖子,但我无法让它工作。 这是模型: public class Institute { / ** 代码省略 ** / 保护虚拟ICollection InnerInstitu ..

在EF 4.3中使用参数执行存储过程时,对象类型System.Collections.Generic.List不存在映射

最近我一直在处理存储过程,遇到一个奇怪的问题。 首先,我可以通过以下方式从数据库中成功调用存储过程: IList XXXList = _context.Database.SqlQuery(“spXXX”)。ToList(); 但是当我需要传递参数失败时: var parameters = new List(); ..

EF代码首先认为数据库已过期 - 仅在生产中

我有一个使用SQL Server CE 4.0和实体框架4.1代码的ASP.NET MVC 3应用程序。 在本地工作正常,但在生产中,它会失败,并显示以下错误: 自创建数据库以来,foobar的上下文已经改变。手动删除/更新数据库,或者使用IDatabaseInitializer实例调用Database.SetInitializer。例如,DropCreateDatabaseIfModelC ..

MS实体框架4.1中的Model First和Code First之间是否存在性能差异?

我开始一个新的开发,我计划在实体框架4.1中使用Code First。 我以前使用过Model First,发现了一些关于加载上下文的问题,首先调用SaveChanges()以及Association Fix-up所在的地方。 $有没有人比较这两种技术的表现呢?或者说在一天结束时它们是微不足道的? 谢谢。 p> 解决方案 我相信性能没有任何区别。 Code-First,Mode ..

实体框架正在尝试创建一个数据库,但它不是我想要的

我有一个小的asp.net mvc4应用程序(在我的本地机器工作正常),它使用实体框架v4.1.0.0与ADO.net DbContext生成器(SQL Server 2008 r2) 我在Visual Studio 2010中通过“添加可部署的依赖关系...”上下文菜单添加了更新的dll版本。 我有一个共享的主机与godaddy.com,我已经将文件上传到服务器并创建了数据库,现在来 ..
发布时间:2017-08-05 19:53:14 .NET Framework

EF 4.1代码首先导致出现奇怪(登录)运行时错误

我第一次使用EF 4.1代码。运行到一个非常奇怪的情况: 数据库不存在,代码被执行,一旦代码想要对存储库执行查询(也使用存储库模式) MyRepsitory.Get(whereClause) m得到这个错误: 无法打开登录请求的数据库“MyDatabase” 。登录 失败。登录用户'sa'失败。 确定!所以我试图找到它是由什么造成的,并 ..
发布时间:2017-08-05 19:53:02 .NET Framework

实体框架4 - 定制复杂类型映射

我有一个很差的遗留数据库模式,我正在通过EF Code First工作。我目前正在映射POCO实体,并希望创建一个“地址”复杂类型,并将其用于存储街道地址信息的地方。不幸的是,并不是所有的地址字段都在数据库中被命名为相同的(即一个表可能具有“Address1”,而另一个表将具有“Street1”,即使它们是相同的。 有没有办法根据给定的实体为复杂类型创建自定义映射?该映射是什么样的? ..