Tag: entity framework 6

EF6和多种配置(SQL Server和SQL Server Compact)

更新:问题已解决,请参阅此问题的结尾。 问题 : 我们尝试在一个场景中使用Entity Framework 6和基于代码的配置,我们在同一AppDomain同时使用SQL Server和SQL Server CE。 这个非常简单的场景似乎不是“按设计”支持的。 来自EF团队: 注意:我们不支持在同一AppDomain中使用多个配置类。 如果使用此属性为两个上下文设置不同的配置类,则会引发exception。 更多信息: 基于代码的配置(Codeplex) 问题是 : 我们如何从这里前进? 任何帮助将不胜感激! 是否有更灵活的方法将配置连接到上下文而不是AppDomain ? (我们的上下文类位于不同的程序DbConfigurationType 。我们尝试过DbConfigurationType属性,但问题是EF本身) 配置文件: 正常SQL服务器的配置 public class EfConfiguration : DbConfiguration { public EfConfiguration() { SetProviderServices( SqlProviderServices.ProviderInvariantName, SqlProviderServices.Instance); SetDefaultConnectionFactory(new SqlConnectionFactory()); } } SQL Server Compact Edition的配置 public class EfCeConfiguration : DbConfiguration { public EfCeConfiguration() { SetProviderServices( […]

如何注入UserManager和SignInManager

我试图弄清楚如何注入UserManager和SignInManager。 我在我的应用程序中安装了Ninject,并且我以下列方式使用它: 请将此视为一个全新的项目。 在Startup.cs里面我有以下内容: public partial class Startup { public void Configuration(IAppBuilder app) { ConfigureAuth(app); app.UseNinjectMiddleware(CreateKernel); } private static IKernel CreateKernel() { var kernel = new StandardKernel(); kernel.Load(Assembly.GetExecutingAssembly()); return kernel; } } 现在,如果我要创建一些Dummy类并尝试基于其工作的接口注入它。 我测试过了。 我想弄清楚的是我现在将如何从Startup.Auth.cs中删除以下内容并将其注入。 没有我可以依赖的接口,我不知道如何做到这一点: app.CreatePerOwinContext(ApplicationDbContext.Create); app.CreatePerOwinContext(ApplicationUserManager.Create); app.CreatePerOwinContext(ApplicationSignInManager.Create); 为了澄清一次,我的问题是:如何实例化ApplicationUserManager和ApplicationSignInManager并将其注入我的控制器参数中。 这是我试图将其注入的控制器: public AccountController(ApplicationUserManager userManager, ApplicationSignInManager signInManager) { UserManager = userManager; SignInManager = signInManager; } 编辑: […]

使用Entity Framework 6调用DB函数

我按照这些说明将标量函数添加到我的Entity Framework 6数据模型中。 如何使用带有linq的标量值函数实体? 但是,我无法在LINQ查询中调用该函数,尽管直接在DataContext上调用该方法也可以。 using (Entities context = new Entities()) { // This works. var Test1 = context.fn_GetRatingValue(8, 9, 0).FirstOrDefault(); // This doesn’t work. var Test2 = (from r in context.MediaRatings select context.fn_GetRatingValue(r.Height, r.Depth, 0)).ToList(); } 第二个查询抛出此错误。 LINQ to Entities does not recognize the method ‘System.Data.Entity.Core.Objects.ObjectResult`1[System.Nullable`1[System.Single]] fn_GetRatingValue(System.Nullable`1[System.Single], System.Nullable`1[System.Single], System.Nullable`1[System.Single])’ method, and this method cannot […]

EF6中的Eager,Lazy和显式加载

我已经阅读了本教程和本文,但我并不完全理解每种加载类型的用法。 我解释 我有这个POCO: public partial class dpc_gestion { public dpc_gestion() { this.ass_reunion_participant = new HashSet(); this.dpc_participant = new HashSet(); this.dpc_reunion = new HashSet(); } public int dpc_id_pk { get; set; } public Nullable dpc_id_gdp_fk { get; set; } public Nullable dpc_id_theme { get; set; } public int dpc_id_animateur_fk { get; set; } public Nullable dpc_date_creation […]

如何在EntityFramework中按DateTime.Date进行分组

我有一个设备型号: public class DeviceModel { public DateTime Added { get;set; } } 我想选择设备数量,按Added日期( 不是日期和时间,但仅限日期 )分组。 我当前的实现无效,因为linq无法将DateTime.Date转换为sql: var result = ( from device in DevicesRepository.GetAll() group device by new { Date = device.Added.Date } into g select new { Date = g.Key.Date, Count = g.Count() } ).OrderBy(nda => nda.Date); 如何更改此查询以使其工作?

配置多个数据库entity framework6

在我的解决方案中,我有两个使用Entity Framework 6的项目。每个项目指向不同的数据库,两者都使用相同的数据提供 – SQL Server。 我的解决方案中的第三个项目需要使用这两个数据库。 我的问题是如何配置这些上下文。 我尝试在单独的程序集中创建配置类: namespace OSAD_Base { class EfDbConfiguration : DbConfiguration { public EfDbConfiguration() { SetProviderServices(SqlProviderServices.ProviderInvariantName, SqlProviderServices.Instance); } } } 并在每个上下文类中引用此配置: namespace IntegrationDb { [DbConfigurationType(“OSAD_Base.EfDbConfiguration, OSAD_Base”)] public partial class IntegrationEntities : DbContext { public IntegrationEntities(string connectionString) : base(connectionString) { } } } 初始化我的第一个时,所有工作都正确,但是当第二个上下文初始化时(顺序无关紧要)我得到并且错误: 设置了’EfDbConfiguration’的实例,但是在与’B1Entities’上下文相同的程序集中未发现此类型。 将DbConfiguration类型放在与DbContext类型相同的程序集中,在DbContext类型上使用DbConfigurationTypeAttribute指定DbConfiguration类型,或在配置文件中设置DbConfiguration类型。 有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=260883。* 我还试图在我的app.config(启动项目)中创建一个entityframework部分,但是出现了以下错误: 配置系统无法初始化 无法识别的配置部分entityFramework 如何在同一解决方案中使用2个独立的EF项目?

由Entity Framework DbContext执行的日志查询

我在MVC 5项目中使用EF 6.0和LINQ。 我想记录Entity Framework DbContext执行的所有SQL查询,以进行调试/性能测量。 在Java / Hibernate中,可以通过设置属性hibernate.show_sql=true来实现等效行为。 是否有可能在entity framework中有类似的行为?

entity framework6代码优先自定义函数

我正在尝试类似的东西: 如何使用带有linq的标量值函数实体? 但是我没有使用EDMX,而是先使用DbContext和代码。 我遇到过这个: https://codefirstfunctions.codeplex.com/ 但用法并不合适。 我想要实现的是能够做到这一点: var locations = context.Locations.Where(e => Functions.LatLongDistanceCalc(e.Lat, e.Long, lat, long) >= 10) 它将在SQL Server上调用标量函数(LatLongDistanceCalc)。 没有使用EDMX有没有办法做到这一点? 我知道你可以构建一个手动查询,但这不会是优先的,因为我想带回具有延迟加载代理等的实体以及构建更复杂的查询。