Tag: entity framework 6

UOW – 在上一次异步操作完成之前,在此上下文中启动了第二个操作

我正在尝试下面的代码,它有两个部分,一个是通过棱镜导航。 当允许导航时,我以异步方式开始深度加载,但每次都使用新的上下文。 在以后的代码中,我想要取消未完成此加载的待处理导航,但下面的代码甚至不起作用,因此取消是稍后的事情;-) 导航逻辑:这里没问题 public void OnNavigatedTo(NavigationContext navigationContext) { int relatieId = (int)navigationContext.Parameters[“RelatieId”]; if (_relatie != null && _relatie.RelatieId == relatieId) return; loadRelatieAsync(relatieId); } public void ConfirmNavigationRequest(NavigationContext navigationContext, Action continuationCallback) { bool navigationAllowed = true; continuationCallback(navigationAllowed); } 深度加载逻辑: private async Task loadRelatieAsync(int relatieId) { try { await Task.Run(async () => { _unitOfWork = _UnitOfWorkFactory.createUnitOfWorkAsync(); IEnumerable […]

尝试调用有效方法重载时出现奇怪的“程序集未引用”错误

我在Assembly A使用方法重载: public static int GetPersonId(EntityDataContext context, string name) { var id = from … in context… where … select …; return id.First(); } public static int GetPersonId(SqlConnection connection, string name) { using (var context = new EntityDataContext(connection, false)) { return GetPersonId(context, name); } } 当我尝试从Assembly B调用第二个重载时,VS会产生以下编译时错误: “System.Data.Entity.DbContext”类型在未引用的程序集中定义。 您必须添加对程序集’EntityFramework,Version = 6.0.0.0,Culture = neutral,PublicKeyToken = …’的引用。 […]

Entity Framework 6迁移是否可以包含围绕脚本的事务?

非常简单的问题,我在entity framework6中使用迁移,并且像命令一样 update-database -script 但有没有一种方法可以生成脚本但是用事务包装它? 问题是,如果脚本失败,我必须取消它

ODP.Net托管驱动程序 – ORA-12704:生成的代码中的字符集不匹配

我目前正在使用Oracle托管驱动程序(v12.1.2400)作为我的entity framework驱动程序,并且我目前在执行期间看到ORA-12704: character set mismatch错误。 我使用的LINQ-> SQL代码如下: from c in CUSTOMER.AsNoTracking() where c.ACCOUNT.Contains(“DE”) && c.DELETED == “N” orderby (c.FORENAME + c.SURNAME) select new { c.ACCOUNT, c.FORENAME, c.SURNAME}) 这是创建以下SQL: SELECT “Project1”.”C2″ AS “C1”, “Project1″.”ACCOUNT” AS “ACCOUNT”, “Project1″.”FORENAME” AS “FORENAME”, “Project1″.”SURNAME” AS “SURNAME” FROM ( SELECT( (CASE WHEN (“Extent1″.”FORENAME” IS NULL) THEN N” ELSE “Extent1″.”FORENAME” END) ||(CASE […]

entity framework6.1.3将外键映射到非主键

目标是使用GravityZone中的所有字段以及来自Zone表的区域名称的API。 我已经尝试了以下代码的几种排列而没有成功。 它目前为区域提供null,我希望将该名称作为字符串或对象的一部分。 我正在使用我无法修改的现有表。 楷模: public partial class Zone { [Key] [Column(“ZONE_ID”)] public decimal ZoneId { get; set; } [Column(“ZONE_CODE”)] public decimal ZoneCode { get; set; } [Column(“ZONE_NAME”)] public string ZoneName { get; set; } public virtual ICollection GravityZones { get; set; } } public partial class GravityZone { [Key] [Column(“GRAVITY_ID”)] public decimal GravityZoneId { […]

多对多的同一实体集合,具有双向关系

假设我有一个widget实体,我想跟踪与每个小部件相邻的其他小部件。 如果第一小部件与第二小部件相邻,则反之亦然 – 第二小部件与第一小部件相邻。 理想情况下,我会在实体上有一个集合,并且可以流畅地配置实体以实现这种关系。 public class Widget { // … public virtual ICollection Adjacent { get; set; } } 但是,当我试着…… modelBuilder.Entity .HasMany(w => w.Adjacent) .WithMany(w => w.Adjacent); ……entity framework根本不喜欢它。 在’Widget’类型上声明的导航属性’Adjacent’不能与其自身相反。 有没有办法配置实现此目标的实体,或者我将不会创建父/子集合导航属性或单独的关系容器?

entity framework6代码优先触发器

我正在使用Entity Framework 6 Code First,并且想要创建一个Trigger。 我该怎么做呢? 我需要触发器的原因是因为用户可能直接编辑数据库或通过我正在编写的程序编辑数据库,我需要确保表中的2列不是空的,并且都不是空的。 我一直在寻找,找不到办法。 有没有办法先使用代码指定触发器?

entity framework6代码优先function映射

我想将Entity Framework 6集成到我们的系统中,但是有问题。 我想使用Code First。 出于其他原因,我不想使用Database First * .edmx文件。 我使用属性映射[表],[列],这很好用 数据库有许多用户定义的函数,我需要在Linq To Entities查询中使用它们。 问题是: 我不能通过像[Table],[Column]这样的属性来映射函数。 只有1个属性可用[DbFunction],它需要* .edmx文件。 我可以在* .edmx文件中映射函数,但这意味着我不能使用实体的属性映射:[Table],[Column]。 必须在* .edmx或属性中填充映射。 我尝试通过以下代码创建DbModel并添加函数: public static class Functions { [DbFunction(“CodeFirstNamespace”, “TestEntity”)] public static string TestEntity() { throw new NotSupportedException(); } } public class MyContext : DbContext, IDataAccess { protected MyContext (string connectionString) : base(connectionString, CreateModel()) { } […]

使用await与异步数据库调用有什么好处

我只是看看默认的MVC5项目以及它如何在控制器中使用async。 我想知道async在简单地使用同步调用时提供了什么好处: [HttpPost] [ValidateAntiForgeryToken] public async Task Disassociate(string loginProvider, string providerKey) { ManageMessageId? message = null; //why use an async database call here with await instead of just using a synchronous one? IdentityResult result = await UserManager.RemoveLoginAsync(User.Identity.GetUserId(), new UserLoginInfo(loginProvider, providerKey)); if (result.Succeeded) { message = ManageMessageId.RemoveLoginSuccess; } else { message = ManageMessageId.Error; } return RedirectToAction(“Manage”, […]

错误:此操作将创建结构不正确的文档

我一直在尝试安装entity framework6,它总是会回滚错误 error: This operation would create an incorrectly structured document. 我已经卸载了在这个位置提到的每个dll的所有引用。 http://entityframework.codeplex.com/wikipage?title=Updating%20Applications%20to%20use%20EF6 疯狂的是,我可以创建一个新项目,创建一个webAPI程序,并尝试添加entity framework6,我得到相同的错误,即使删除所有对System.Data.Entity.dll的引用后我已经是一些这几天,需要认真的帮助。 我该怎么做才能安装Entity Framework 6? 注意:它只是安装,只是找到一个类库而不是WebApi或MVC应用程序。 如果它有帮助,这里有一些更详细的错误信息。 PM> Install-Package EntityFramework -Version 6.0.0 Installing ‘EntityFramework 6.0.0’. Successfully installed ‘EntityFramework 6.0.0’. Adding ‘EntityFramework 6.0.0’ to AC. Successfully added ‘EntityFramework 6.0.0’ to AC. System.InvalidOperationException: This operation would create an incorrectly structured document. at System.Xml.Linq.XDocument.ValidateDocument(XNode previous, […]