Questions tagged «entity-framework-4»

ADO.NET实体框架4.x的标记,它本身是.NET框架的对象关系映射。

29
一个或多个实体的验证失败。有关更多详细信息,请参见“ EntityValidationErrors”属性
使用代码优先方法为数据库播种时出现此错误。 一个或多个实体的验证失败。有关更多详细信息,请参见'EntityValidationErrors'属性。 老实说,我不知道如何检查验证错误的内容。Visual Studio向我展示了这是一个包含8个对象的数组,因此出现8个验证错误。 这适用于我以前的模型,但是做了一些更改,下面解释: 我有一个名为Status的枚举,我将其更改为一个名为Status的类 我将类ApplicantsPositionHistory更改为在同一张表中有2个外键 对冗长的代码,请原谅,但我必须全部粘贴。在以下代码的最后一行中引发异常。 namespace Data.Model { public class Position { [DatabaseGenerated(System.ComponentModel.DataAnnotations.DatabaseGeneratedOption.Identity)] public int PositionID { get; set; } [Required(ErrorMessage = "Position name is required.")] [StringLength(20, MinimumLength = 3, ErrorMessage = "Name should not be longer than 20 characters.")] [Display(Name = "Position name")] public string name …

18
已经有与此命令关联的打开的DataReader,必须首先关闭
我有此查询,并且出现此函数错误: var accounts = from account in context.Accounts from guranteer in account.Gurantors select new AccountsReport { CreditRegistryId = account.CreditRegistryId, AccountNumber = account.AccountNo, DateOpened = account.DateOpened, }; return accounts.AsEnumerable() .Select((account, index) => new AccountsReport() { RecordNumber = FormattedRowNumber(account, index + 1), CreditRegistryId = account.CreditRegistryId, DateLastUpdated = DateLastUpdated(account.CreditRegistryId, account.AccountNumber), AccountNumber = FormattedAccountNumber(account.AccountType, …

11
EF迁移:回滚上一次应用的迁移?
这看起来是一个非常普通的任务,但是我找不到一种简单的方法来完成它。 我想撤消上一次应用的迁移。我本来希望有一个简单的命令,例如 PM> Update-Database -TargetMigration:"-1" 相反,我能想到的是: PM> Get-Migrations Retrieving migrations that have been applied to the target database. 201208012131302_Add-SystemCategory 201207311827468_CategoryIdIsLong 201207232247409_AutomaticMigration 201207211340509_AutomaticMigration 201207200025294_InitialCreate PM> Update-Database -TargetMigration:"CategoryIdIsLong" (至少我可以只使用名称,跳过时间戳...) 有没有更简单的方法?

7
实体框架超时
使用功能导入需要超过30秒才能完成时,使用实体框架(EF)导致超时。我尝试了以下操作,但无法解决此问题: 我Default Command Timeout=300000在这里建议的具有EDMX文件的项目的App.Config文件中添加了连接字符串。 这是我的连接字符串如下所示: <add name="MyEntityConnectionString" connectionString="metadata=res://*/MyEntities.csdl|res://*/MyEntities.ssdl| res://*/MyEntities.msl; provider=System.Data.SqlClient;provider connection string=" Data Source=trekdevbox;Initial Catalog=StarTrekDatabase; Persist Security Info=True;User ID=JamesTKirk;Password=IsFriendsWithSpock; MultipleActiveResultSets=True;Default Command Timeout=300000;"" providerName="System.Data.EntityClient" /> 我尝试直接在存储库中设置CommandTimeout,如下所示: private TrekEntities context = new TrekEntities(); public IEnumerable<TrekMatches> GetKirksFriends() { this.context.CommandTimeout = 180; return this.context.GetKirksFriends(); } 我还能做些什么来使EF超时?这仅适用于非常大的数据集。小型数据集一切正常。 这是我遇到的错误之一: System.Data.EntityCommandExecutionException:执行命令定义时发生错误。有关详细信息,请参见内部异常。---> System.Data.SqlClient.SqlException:超时已过期。在操作完成之前超时或服务器没有响应。 好的-我已经开始工作了,这很愚蠢。我同时将连接字符串和Default Command Timeout=300000和CommandTimeout都设置为180。Default Command Timeout从连接字符串中删除时,它可以正常工作。因此,答案是在上下文对象的存储库中手动设置CommandTimeout,如下所示: …

16
引入FOREIGN KEY约束可能会导致循环或多个级联路径-为什么?
我已经为此努力了一段时间,无法完全了解发生了什么。我有一个包含Sides(通常为2)的Card实体-Cards和Sides都有一个Stage。我正在使用EF Codefirst迁移,并且迁移因以下错误而失败: 在表“ Sides”上引入FOREIGN KEY约束“ FK_dbo.Sides_dbo.Cards_CardId”可能会导致循环或多个级联路径。指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束。 这是我的银行卡实体: public class Card { public Card() { Sides = new Collection<Side>(); Stage = Stage.ONE; } [Key] [Required] public virtual int CardId { get; set; } [Required] public virtual Stage Stage { get; set; } [Required] [ForeignKey("CardId")] …

27
自创建数据库以来,支持<Database>上下文的模型已更改
错误消息: “自创建数据库以来,支持'AddressBook'上下文的模型已更改。要么手动删除/更新数据库,要么使用IDatabaseInitializer实例调用Database.SetInitializer。例如,RecreateDatabaseIfModelChanges策略将自动删除并重新创建数据库,并且(可选)用新数据作为种子。” 我正在尝试使用代码优先功能,以下是我写的内容: var modelBuilder = new ModelBuilder(); var model = modelBuilder.CreateModel(); using (AddressBook context = new AddressBook(model)) { var contact = new Contact { ContactID = 10000, FirstName = "Brian", LastName = "Lara", ModifiedDate = DateTime.Now, AddDate = DateTime.Now, Title = "Mr." }; context.contacts.Add(contact); int result = context.SaveChanges(); Console.WriteLine("Result …

2
virtual关键字在Entity Framework 4.1 POCO Code First中可以产生什么作用?
virtual在EF Code First中的属性上使用该关键字是否有效?有人可以在不同情况下描述其所有后果吗? 例如,我知道它可以控制延迟加载 -如果您在ICollection /一对多关系属性上使用virtual关键字,则默认情况下将对其进行延迟加载,而如果不使用virtual关键字,它将渴望加载。 virtual关键字在POCO实体的EF中还能产生什么其他影响?我应该将其默认设置为virtual在所有属性上使用,还是默认为不使用它?


12
实体框架4 / POCO-从哪里开始?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使它成为Stack Overflow 的主题。 6年前关闭。 改善这个问题 我已经编程了一段时间,并且以前使用过LINQ-To-SQL和LINQ-To-Entities(尽管使用实体时,它已经处于Entity / Table 1-1关系上-即与L2SQL并没有太大区别) 我已经做了大量关于控制反转,工作单元,POCO和存储库模式的阅读,并且希望在我的新应用程序中使用这种方法。 我在苦苦挣扎的地方是找到一个清晰,简洁的EF4入门指南,该指南不假定您掌握EF1。 我需要回答的具体问题是: 代码优先/模型优先?关于EF4的优点/缺点(即,如果我先编写代码,以后再更改代码并需要重新生成数据库模型,会发生什么情况?数据是否得到保存,转换或删除?) 假设我要代码优先(我想看看EF4如何将其转换为数据库模式),我实际上是如何开始的?我经常看到带有实体图的文章指出“这是我的实体模型,现在我要...”-不幸的是,我不清楚他们是否在设计器中创建了模型,并将其保存到生成代码,然后停止任何进一步的自动代码生成-或-他们已经进行了编码(POCO)?类以及以某种方式将其导入deisgner视图中? 我想我真正需要的是了解“魔术”的来源以及如果我不只是直接从数据库生成EF模型,如何自己添加“魔术”。 我知道这个问题有点含糊,但我不知道我不知道的-因此,感谢您的任何输入/更正/澄清。 不用说,我不希望任何人坐在这里教我EF-我只是想要一些不错的教程/论坛/博客/等。对于完整的实体新手

4
.ToList()、. AsEnumerable()和AsQueryable()有什么区别?
我知道第一个实现IQueryable和第二个实现的LINQ to Entities和LINQ to Objects的一些区别,IEnumerable并且我的问题范围在EF 5之内。 我的问题是这三种方法的技术区别是什么?我看到它们在许多情况下都可以工作。我也看到像使用它们的组合.ToList().AsQueryable()。 这些方法到底是什么意思? 是否有任何性能问题或某种原因导致使用一个而不是另一个? 例如,为什么要用一个.ToList().AsQueryable()代替.AsQueryable()?



9
LINQ to Entities不支持指定的类型成员'Date'。仅初始化器,实体成员和实体导航属性
在实体框架中使用此代码,我收到以下错误。我需要获取特定日期的所有行,其DateTimeStart格式为DataType2013-01-30 12:00:00.000 码: var eventsCustom = eventCustomRepository.FindAllEventsCustomByUniqueStudentReference(userDevice.UniqueStudentReference) .Where(x =&gt; x.DateTimeStart.Date == currentDateTime.Date); 错误: base {System.SystemException} = {“ LINQ to Entities不支持指定的类型成员'Date'。仅支持初始化程序,实体成员和实体导航属性。”} 任何想法如何解决?

4
如何在Entity Framework 5中包含子对象的子对象
我正在使用Entity Framework 5 code first和ASP.NET MVC 3。 我在努力填充子对象的子对象。以下是我的课程。 应用类别 public class Application { // Partial list of properties public virtual ICollection&lt;Child&gt; Children { get; set; } } 子班: public class Child { // Partial list of properties public int ChildRelationshipTypeId { get; set; } public virtual ChildRelationshipType ChildRelationshipType { get; …

2
实体框架联接3个表
我正在尝试加入三个表,但我不明白该方法... 我完成了加入2张桌子 var entryPoint = dbContext.tbl_EntryPoint .Join(dbContext.tbl_Entry, c =&gt; c.EID, cm =&gt; cm.EID, (c, cm) =&gt; new { UID = cm.OwnerUID, TID = cm.TID, EID = c.EID, }). Where(a =&gt; a.UID == user.UID).Take(10); 我想在TID PK中包含tbl_Title表,并获取Title字段。 非常感谢

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.