Tag: entity framework

entity frameworkMySQL tinyint(1)System.Boolean.Parse FormatException

我在使用MySQL数据库的 C# 模型第一个项目中使用EntityFramework 6 。 一切都很好,我可以毫无问题地生成我的数据库。 然后我使用设计器修改了我的.edmx文件,这里开始了我遇到的问题。 首先,设计者不再更新.edmx文件的CSDL内容和CS映射内容部分。 所以我自己更新了内容,最终可以编译项目。 这是现在的.edmx文件,它在设计器中的样子: EDMX文件: http : //pastebin.com/Xer9UyNR 以下是设计师视图的链接: http : //i.stack.imgur.com/Vcv9W.png 第二个(也是最重要的一个),当EF试图从我的数据库中获取一个tinyint并将其类型更改为布尔值时,我得到一个FormatException。 àArmoireOutils.App.OnNavigateMessageHandler(OnNavigateMessage message)dans c:\ Users \ JB \ Desktop \ CodingFrance \ ArmoireOutils \ ArmoireOutils \ App.xaml.cs:line 101System.FormatException:String未被识别为有效的布尔值。 àSystem.Boolean.Parse(String value) àSystem.String.System.IConvertible.ToBoolean(IFormatProvider provider) àSystem.Convert.ChangeType(对象值,类型conversionType,IFormatProvider提供程序) àMySql.Data.Entity.EFMySqlDataReader.ChangeType(Object sourceValue,Type targetType) àMySql.Data.Entity.EFMySqlDataReader.GetValue(Int32 ordinal) àSystem.Data.Entity.Core.Common.Internal.Materialization.Shaper.ErrorHandlingValueReader`1.GetUntypedValueDefault(DbDataReader reader,Int32 ordinal) àSystem.Data.Entity.Core.Common.Internal.Materialization.Shaper.ErrorHandlingValueReader`1.GetValue(DbDataReader reader,Int32 ordinal) àSystem.Data.Entity.Core.Common.Internal.Materialization.Shaper.GetPropertyValueWithErrorHandling[TProperty](Int32 ordinal,String propertyName,String […]

Entity Framework是否自动保存相关类?

我们假设我们有这样的类 public class A{ string someField { get; set; } public virtual BB {get; set; } } public class B { int someIntField {get; set; } [ForeignKey(“Id”)] [Required] public virtual AA { get; set; } } 在代码中,我为它们创建了新实例,并建立了如下关系: A a = new A () { someField = “abcd”}; B b = new B () { someIntField […]

LINQ to Entities Union正在抛出错误

我成功完成了以下工作: var transactions = from t in context.Transactions group t.Create_Date_Time by t.Participation_Id into t1 select new { ParticipationId = t1.Key, CreateDateTime = t1.Max() }; var cases = from c in context.Cases group c.Create_Date_Time by c.Participation_Id into c1 select new { ParticipationId = c1.Key, CreateDateTime = c1.Max() }; var interactions = from i in context.Interactions join […]

如何在类库项目中配置entity framework

我已经创建了一个类库项目,其中包含entity framework对象,该对象将负责我的多个项目的公共数据访问层。在将生成的dll文件添加到我的域项目并使用类库项目中的实体对象之后,我面临着以下问题。 在应用程序配置文件中找不到名为“ABC”的连接字符串。 我已将edmx的Metadata Artifact处理属性设置为Embed in Output Assembly App.Config标记 实体代码如下 public ABC_IntegrationEntities() : base(“name=ABC”) { } 我从datadirectiory“App_Data”访问数据库还有一件事 我正在引用dotnetcurry.com上的博客。 http://www.dotnetcurry.com/showarticle.aspx?ID=617 提前致谢!

entity framework5 – 为什么在PropertyValue设置回Original后实体状态为“已修改”

我使用EF5,并且在我将此实体的唯一更改的PropertyValue设置回原始值之后,不知道为什么实体具有“已修改”状态。 using (TestDbContext context = new TestDbContext()) { string name = context.Person.First().Name; // count is 0 int count = context.ChangeTracker.Entries().Count(e => e.State == EntityState.Modified); // Change Value context.Person.First().Name = “Test”; // count is 1 count = context.ChangeTracker.Entries().Count(e => e.State == EntityState.Modified); // Revert Value context.Person.First().Name = name; context.ChangeTracker.DetectChanges(); // count is 1 count = context.ChangeTracker.Entries().Count(e […]

覆盖代码生成的DbContext构造函数

我确定我在某个阶段之前已经做过这个,但我现在还不清楚怎么做! 我的情景: // This is generated from EDMX public partial class HOLDbEntities : DbContext { public HOLDbEntities() : base(“name=HOLDbEntities”) { } } 现在,我希望这个连接字符串很容易更改(我想从HOLDbEntities实现),所以我需要覆盖这个构造函数。 我试过了: public partial class HOLDbEntities { private const string _contextName = “HOLDbEntities”; public static string ContextName { get { return _contextName; } } public HOLDbEntities() : base(ContextName) { } } 但这会引发一个错误: HOLDbEntities已经定义了一个名为“HOLDbEntities”的成员,它具有相同的参数类型。 […]

如何在Entity Framework和Mysql中使用规范函数

我想使用MySql数据库将Timespan添加到EntityFramework中的DateTime。 我尝试过使用DbFunctions.AddMinutes(someminutes)和EntityFunctions.AddMinutes(someminutes)但是当我执行时,我得到了类似的exception functionprojectName.AddMinutes不存在 我用谷歌搜索但无法找到如何执行规范function。 虽然有一个function列表,但我不知道他们属于哪个类https://msdn.microsoft.com/en-us/library/bb738563.aspx 我在用 MySql.Data.Entities 6.8.3.0 EntityFramework 6.0.0 MySql.Data 6.8.4 MySql.Web 6.8.4 MySql(数据库)5.6.17 我的Linq查询如下 IQueryable orders = _dbContext.Orders .OrderByDescending(x => x.ID) .Select(x => new OrderViewModel { ID = x.ID, AddedOn = DbFunctions.AddMinutes(x.AddedOn, diffMinutes).Value, Customer = (x.IsGuestCheckOut == true ? x.CustomerEmail : x.Customer.FirstName + ” ” + x.Customer.LastName), Phone = x.Phone, TotalAmount = x.TotalAmount, […]

entity framework在Web api / MVC中使用异步控制器进行处理

我有这个小代码示例: public class ValueController : ApiController { private EstateContext _db; public ValueController() { _db = new EstateContext(); } [HttpPost] public async void DoStuff(string id) { var entity = await _db.Estates.FindAsync(id); //now our method goes out and Dispose method is calling //returns here after disposing _db.SaveChanges(); // _db is disposed } protected override void Dispose(bool disposing) […]

禁用entity framework代理创建

根据我的阅读,设置ProxyCreationEnabled = false将阻止更改跟踪和延迟加载。 但是,我不清楚跟踪的变化。 如果我禁用它并从数据库中获取实体,对其进行更改并提交,则会保存这些更改。 我还能够从ChangeTracker获得修改后的条目: ChangeTracker.Entries().Where(x => x.State == EntityState.Modified).ToList() 当我禁用代理创建时,这是否可行? 我想禁用它,但我想明确我禁用的内容。

使用EF4时添加或更新相关实体集合的最佳策略?

假设您有一个带有Student实体集合的Classroom实体。 我通常在创建一个新学生时需要将它添加到课堂中的是使用Classroom.Students.Add(newStudent),现在当我想要更新这个集合时,我通常会清除()该集合并再次添加学生,喜欢: theClassroom.Students.Clear(); foreach(Student student in updatedStudentsCollection) { theClassroom.Students.Add(student); } 清除集合并再次添加实体感觉有点古怪,所以我想应该有一个更好的策略来实现这个场景。 请分享你通常如何处理这个问题。