Tag: entity framework

根据一组关键字进行搜索

我需要根据一组关键字进行搜索,这些关键字会返回与这些关键字相关的所有广告。 然后,结果是一个类别列表,其中包含每个类别的广告计数。 搜索在关键字搜索表中进行: public class KeywordSearch { public int Id { get; set; } public string Name { get; set; } public Keyword Keyword { get; set; } } 关键字表的位置是: public class Keyword { public int Id { get; set; } public string Name { get; set; } } 广告与使用下表的关键字相关: public class KeywordAdCategory { [Key] […]

entity framework5升级后,多对多关系左右键被翻转

我有一些代码可以在代码中保存多对多的关系。 它与Entity Framework 4.1一起运行良好,但在更新到Entity Framework 5后,它失败了。 我收到以下错误: INSERT语句与FOREIGN KEY约束“FK_WebUserFavouriteEvent_Event”冲突。 冲突发生在数据库“MainEvents”,表“dbo.Event”,列“Id”中。 我正在使用POCO实体和自定义映射。 标准字段和多对一关系映射似乎工作正常。 UPDATE 好的,所以我安装了SQL Profiler并且情节已经变厚…… exec sp_executesql N’insert [dbo].[WebUserFavouriteEvent]([WebUserId], [EventId]) values (@0, @1) ‘,N’@0 int,@1 int’,@0=1820,@1=14 意思是: WebUserId = @0 = 1820 EventId = @1 = 14 有趣的是, EF5似乎已经翻转了外键 …… WebUserId应该是14,而EventId 应该是1820 ,而不是像现在这样。 我查看了映射代码,我99%我已经正确设置了它。 有关详细信息,请参阅Entity Framework Fluent API – 关系MSDN文章 。 注意:我还发现这不仅限于保存,SELECT也被破坏了。 这是所有相关代码: 服务层 public […]

entity framework – SQL Azure重试策略

请问任何人都可以指导我如何使用EF to SQL Azure实现重试策略。

无法为可组合函数创建函数导入

我为我的数据库对象生成了Entity CodeBlock,并选择了一些用户定义的标量函数。 但是,当我试图双击Model.Store中的函数导入函数时,我得到了这个错误。 无法为可组合函数创建函数导入。 我如何导入我的function?

嵌套tphinheritance成员的ef-core load collection属性

给出以下类结构 public class Parent { public Guid Id { get; public List Children { get; set; } } public abstract class BaseChild { public int Id { get; set; } public string ChildName { get; set; } } public class NormalChild : BaseChild { public DateTime BirthDate { get; set; } } public class RichChild […]

每个表一个存储库或每个function部分一个?

我使用ASP.NET MVC 2和C#与Entity Framework 4.0来对规范化的SQL Server数据库进行编码。 我的数据库结构的一部分包含一个条目表,其中包含与包含驱动程序,汽车,引擎,机箱等的子表相关的外键。 我正在遵循Nerd Dinner教程,该教程为晚餐设置了一个公平的存储库。 我是为驾驶员做一个,为引擎做一个,为汽车做一个等等,还是做一个大的参赛作品? 这类工作的最佳做​​法是什么? 我还不熟悉这种编码方法。

entity framework:无法加载指定的元数据资源

我决定将Entity Connection String从app.config移动到代码。 但是在设置之后如下: public static string GetConnectionString() { string connection = “”; SqlConnectionStringBuilder sqlBuilder = new SqlConnectionStringBuilder(); sqlBuilder.DataSource = dbServer; sqlBuilder.InitialCatalog = dbInitialCatalog; sqlBuilder.IntegratedSecurity = false; sqlBuilder.UserID = dbUserName; sqlBuilder.Password = dbPasswWord; sqlBuilder.MultipleActiveResultSets = true; EntityConnectionStringBuilder entity = new EntityConnectionStringBuilder(); // entity.Name = “EntityBazaCRM”; entity.Metadata = @”res://*/Data.System.csdl|res://*/Data.System.ssdl|res://*/Data.System.msl”; entity.Provider = “System.Data.SqlClient”; entity.ProviderConnectionString = sqlBuilder.ToString(); connection […]

LINQ和AutoMapper

我想知道我能做些什么来让它按预期工作。 这在我的代码中工作正常: var roles = _securityContext.Set(); var roleList = new List(); foreach (var role in roles) { roleList.Add(Mapper.Map(role)); } return roleList; 但改为: var roles = _securityContext.Set(); return roles.Select(role => Mapper.Map(role)).ToList(); 导致我以前没见过的错误: “LINQ to Entities无法识别方法’Security.Dto.RoleDto MapRole,RoleDto’方法,并且此方法无法转换为商店表达式” 我不确定我是否能对这个’问题’做任何事情……可以说无论如何,有效的方法更具可读性……

无法使用migrate.exe运行代码首次迁移

我正在尝试更新测试系统上的数据库。 当我在visual studio中运行update-database ,事情按预期工作。 当我部署然后尝试在测试机器上运行时: Migrate.exe CodeFirst.dll /startupConfigurationFile=”..\web.config” 我明白了: 在应用程序配置文件中找不到名为xxx的连接字符串 …即使web.config中有一个带有该名称的连接字符串。 只有一个.config文件,没有我正在运行的dll的配置文件 我试图手动声明我的连接字符串: Migrate.exe CodeFirst.dll /connectionString=”Data Source=192.168…;Initial Catalog=Database;” /connectionProviderName=”System.Data.SqlClient” 但由于某种原因仍然给出了相同的错误…它是否忽略了我传入的连接字符串并试图再次寻找一个? 为什么会这样做? 但这给了我一个非常奇怪的错误: 迁移配置类型“Source = 192.168 …在程序集CodeFirst.dll中找不到我想知道它是否与空格有关,所以我尝试将’数据源’更改为’服务器’并将初始目录更改为’数据库’但这没有帮助。 编辑:固定引号 我见过类似的问题,但他们都是关于在视觉工作室内运行的,我在试图做到这一点时没有任何问题。 关于我能做什么的更多想法? 有没有人得到这些选项中的任何一个?

MVC 5中的System.Data.Entity.Core.ProviderIncompatibleexception

我在mvc5中创建一个ASP.NET Web应用程序,我用控制器创建了一个模型类。 我的应用程序正在运行,但是当我想在url中访问我的moviescontroller,如localhost:1234 / Movies时,它会在我的MoviesController.cs文件中生成exception 我正在使用的连接字符串是 生成此exception的函数是 public ActionResult Index() { return View(db.Movies.ToList()); } 编辑exception详细信息 EntityFramework.dll中发生了’System.Data.Entity.Core.ProviderIncompatibleException’类型的exception,但未在用户代码中处理 附加信息:从数据库获取提供程序信息时发生错误。 这可能是由entity framework使用不正确的连接字符串引起的。 检查内部exception以获取详细信息,并确保连接字符串正确。 内部exception详情: System.Data.Entity.Core.ProviderIncompatibleException was unhandled by user code HResult=-2146233087 Message=An error occurred while getting provider information from the database. This can be caused by Entity Framework using an incorrect connection string. Check the inner exceptions for […]