草庐IT

4Framework

全部标签

c# - Entity Framework 中的级联删除(按类型继承的表)

我有DB模型,每个表都有继承类型。例如,实体是A、B、C、A1、A2。基础-A派生-A1,A2。另一个-B,C。因此,A与A1和A2具有1对1关联。B和C分别与A1和A2有关联(一对多,在数据库端有OnDelete操作)。问题我试图从B中删除记录,因此我希望EF也删除与当前B的记录关联的所有A1对象。最后,EF从B中删除记录,从A1中删除所有关联记录,但不从A中删除为什么?怎么解决? 最佳答案 这是一个已知问题,我将其称为错误。显然,只删除表A1中派生实体属性的记录是不正确的。数据库中的剩余数据(在表A中)确实表示另一种对象类型。换

c# - ODAC 12c 和 Entity Framework 6

谁能告诉我OracleDataAccessComponents12c与EntityFramework6兼容吗?Oracle网站是文档的噩梦,找不到有关如何解决此问题的任何引用。我有一个现有项目,我正在尝试升级到ODAC12c和EF6,但我收到以下错误,我正在努力解决:我创建了一个新项目来排除我现有项目的任何问题,但我遇到了同样的问题。我认为这是由EntityFrameworkPowerToolsBeta4自动编辑的app.config文件的问题。(逆向工程代码优先):谁能指出我正确的方向? 最佳答案 Devart最近宣布Oracle

c# - Entity Framework : Precompiled Query for Enumerable. 包含

EntityFramework5+应该预编译所有查询。但是,对于诸如Listids;varentities=context.MyEntities.Where(x=>ids.Contains(x.Id)).ToArray();EntityFramework无法预编译查询,并且根据整个查询的复杂性,将表达式树解析为SQL可能会耗费数秒。有没有人找到解决方法来获取预编译查询?我真的不明白为什么会这么难;当然很难用参数来做,因为元素的数量可能不同,但是有像SQL这样的SQL就足够了SELECTa,b,cfromMyEntitiesWHEREcin__PLACEHOLDER__然后用实际的列表元

c# - Entity Framework Core 迁移 - 连接字符串

我在处理与迁移相关的数据库连接字符串时遇到了问题。我有2个项目:域名申请DbContext位于Domain项目中,因此这是我针对其运行迁移的项目。迁移概念强制我在我的DbContext中实现OnConfiguring并在其中指定数据库提供程序,例如:protectedoverridevoidOnConfiguring(DbContextOptionsBuilderbuilder){builder.UseSqlServer("");}我的问题是我不想使用硬编码的连接字符串,原因很明显,而且我不能使用ConfigurationManager从配置文件中读取它,因为配置文件在应用程序项目中。

c# - Entity Framework 6 的插入顺序由什么逻辑决定

所以,我有一个DBContext,我正在执行以下操作:dbContext.SomeTables1.Add(object1)dbContext.SomeTables2.AddRange(objectArray2)dbContext.SomeTables3.AddRange(objectArray3)dbContext.SaveChanges();EF不会按此顺序插入数据库记录,它会按随机顺序插入它们。要以相同的顺序插入它们,我必须在每次添加后执行dbContext.SaveChanges()。这不是一个有效的解决方案,就我而言,完成所有插入需要10秒,而一次保存的随机顺序大约需要3秒。注

c# - Entity Framework 丢失 Sql DateTime 精度

我正在使用EntitySQL查询我的EDM,我的DateTime值失去毫秒精度。例如,2011/7/2012:55:15.333PM更改为2011/7/2012:55:15.000PM。我已经确认在SQL中精确记录了毫秒数。我可以在.edmxXML文件中应用一个Precision属性,但我不知道它需要什么样的值,有谁知道如何使用这个精度属性?谢谢。 最佳答案 这取决于SQLServer版本...参见http://seesharper.wordpress.com/2008/07/08/sql-server-datetime-vs-ne

c# - 升级 .NET Framework 后 VS2010 出现 "Unable to step. Process is not synchronized"错误

我在Windows7桌面上安装了VisualStudio2010,主要用于调试ASP.NET解决方案。一切都运行良好,直到其中一个Windows更新安装了新版本的.NETFramework。现在,当我尝试放置断点然后在我的C#代码中执行“调试器步骤”时,我收到以下消息:更糟糕的是,它不会一直发生。我试图找到任何模式,但我能描述的最好方式是零星的。知道如何解决这个问题吗? 最佳答案 我刚在VisualStudio2015中得到这个。我在一个单独的线程上调试,遇到断点但无法继续。重新启动并没有解决它。我删除了所有断点,重置了我真正想要的

c# - Entity Framework 为关联对象创建新的/重复的条目

我正在尝试使用CodeFirst创建一个SQLCE4数据库。运行下面的示例代码时,EntityFramework每次都会为产品插入新记录,即使数据完全相同。我需要做什么才能使EntityFramework不创建重复的关联产品?ForeignID1和Product对象中的值是数据库中已存在的值,但EntityFramework正在删除我提供的ID它并添加一个新的ID。namespaceMyApp.Model{publicclassMyThing{publicintID{get;set;}[ForeignKey("Product")]publicintForeignID1{get;set;

c# - 具有 Entity Framework 的动态表名

我有许多具有相同模型结构但具有其他表名和其他数据的表(在这种情况下将是~100个表)。我想使用EntityFramework在运行时动态切换表名(例如从路由中获取名称表)。数据库中的表是由其他脚本动态添加和删除的。有没有一种方法可以像这样具有良好的性能?db.Table("TableName").Where(x=>x.ID==ID) 最佳答案 你想这样做吗?foreach(stringtableNameinnew[]{"Table1","Table2"}){varresult=dbContext.Database.SqlQuery(

c# - 如果不支持包含,如何在 LINQ to Entities( Entity Framework )中执行 SQL 样式 'IN' 语句?

我正在使用LINQtoEntities(不是LINQtoSQL),但在创建“IN”样式查询时遇到了问题。这是我目前的查询:varitems=db.InventoryItem.Include("Kind").Include("PropertyValues").Include("PropertyValues.KindProperty").Where(itm=>valueIds.Contains(itm.ID)).ToList();然而,当我这样做时,会抛出以下异常:LINQtoEntitiesdoesnotrecognizethemethod'BooleanContains(Int64)'