标签: entity-framework-6

HotTowel EF6 MVC5 Angular Breeze版挑战

是否可以让HotTowel和EntityFramework 6一起工作?

我们的DataAccess Layer已升级到EF6.我们在Web层中对EntityFramework的唯一引用是Web.Config

 <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />

 <entityFramework>
   <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
  <parameters>
      <parameter value="Data Source=.; Integrated Security=True; MultipleActiveResultSets=True" />
      </parameters>
   </defaultConnectionFactory>
</entityFramework>
Run Code Online (Sandbox Code Playgroud)

我们无法更新ER版本6,因为HotTowel有一个Breeze Update可用.但是如何解决HotTowel

安装失败.回滚... install-package:将"Microsoft.AspNet.WebApi.OData 5.0.0"更新为"Microsoft.AspNet.WebApi.OData 4.0.30506"失败.无法找到与"Microsoft.AspNet.WebApi.OData 4.0.30506"兼容的"Breeze.Server.WebApi2"版本.

编辑: 我们正在使用KNOCKOUT.js库版HotTowel.

entity-framework breeze entity-framework-6 hottowel asp.net-mvc-5

1
推荐指数
1
解决办法
2231
查看次数

实体框架6.1代码首次迁移错误:EntityType'IdentityUserRole'没有定义密钥

我创建了一个新的MVC 5项目,当我在Package Manager控制台中获得以下PS异常时,我尝试为我创建的Code First实体启用迁移:

One or more validation errors were detected during model generation:

Project.Web.Models.IdentityUserRole: : EntityType 'IdentityUserRole' has no key defined. Define the key for this EntityType.
Project.Web.Models.IdentityUserLogin: : EntityType 'IdentityUserLogin' has no key defined. Define the key for this EntityType.
IdentityUserRoles: EntityType: EntitySet 'IdentityUserRoles' is based on type 'IdentityUserRole' that has no keys defined.
IdentityUserLogins: EntityType: EntitySet 'IdentityUserLogins' is based on type 'IdentityUserLogin' that has no keys defined.
Run Code Online (Sandbox Code Playgroud)

问题是我的项目中没有调用IdentityUserRole或没有类IdentityUserLogin.这些名称位于Microsoft.AspNet.Identity.EntityFramework命名空间中的类,但错误是说这些类存在于我的项目命名空间中.

我该如何解决这个问题?我已经多次清理并重新编译了该项目,似乎没有什么能解决这个问题.

编辑

如果我删除我的 …

c# entity-framework ef-code-first ef-migrations entity-framework-6

1
推荐指数
1
解决办法
1118
查看次数

如何使用实体框架的Find方法查找List <Object>,将Array作为参数传递?

我想知道如何找到一个List<Object>使用Find方法的实体框架传递Array(object[])作为参数?

我想通过Primary Key查找所有数据.

我首先用我将用作参考的所有PK填写一个列表:

List<int> lCodigoServicos = new List<int>();
foreach (ServicosSelecionadosModelView servicoSelecionado in lServicos.FindAll(s => !string.IsNullOrEmpty(s.selecionado) && s.selecionado.ToLower() == "on" ))
         lCodigoServicos.Add(servicoSelecionado.servico.SerId);
Run Code Online (Sandbox Code Playgroud)

在填写我的PK列表后,我尝试通过PK查找所有数据

var lServicosInformados = db.Servicos.Find(lCodigoServicos.ToArray());
Run Code Online (Sandbox Code Playgroud)

当我尝试这个时,我收到以下错误:

The specified parameter type 'System.Int32[]' is not valid. Only scalar types, such as System.Int32, System.Decimal, System.DateTime, and System.Guid, are supported.
Run Code Online (Sandbox Code Playgroud)

请与我们分享如何正确地做到这一点.谢谢.

解决方案 如下所述,正确的解决方案是:

var lServicosInformados = db.Servicos.Where(x => lCodigoServicos.Contains(x.PKId)); 
Run Code Online (Sandbox Code Playgroud)

c# entity-framework find entity-framework-6

1
推荐指数
1
解决办法
1104
查看次数

在Entity Framework 6中使用MySQL和MSSQL

我正在开发一个Web服务。

该服务的背后是两种方法:一种是从MySQL连接获取实体,另一种是从MSSQL Server连接获取实体。

我有两个连接字符串。

我想有两个上下文,它们是完全分开的。

但是我无法管理这个。

有任何想法吗?

mysql sql-server entity-framework-6

1
推荐指数
1
解决办法
1857
查看次数

如何在代码优先方法中禁用Db模式不匹配的迁移?

在我的团队中,我们C#开发人员没有直接对数据库进行架构修改访问.有一个单独的团队为我们添加/更改表.当需要更改数据库模式的新需求时,他们会添加列/表并向我们提供详细信息,以便我们更新模型类.

以下是DataContext

public class FamilyDataContext : DbContext
{
    public FamilyDataContext() : base("FamilyDataContext")
    {
    }

    public DbSet<ResidentInformation> ResidentInformation { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
    }
}
Run Code Online (Sandbox Code Playgroud)

问题:尝试在此表中保存数据时出错.

自创建数据库以来,支持'FamilyDataContext'上下文的模型已更改.请考虑使用"代码优先迁移"来更新数据库(http://go.microsoft.com/fwlink/?LinkId=238269).

我想要的是,如果C#代码和Db模式中的模型定义不匹配,则给出错误,以便可以通过dev或DBA手动修复它; 而不是尝试自动升级数据库.我不想要任何自动迁移.

无论如何要实现这一目标吗?

.net entity-framework entity-framework-6

1
推荐指数
1
解决办法
635
查看次数

数据库首先,如何在EF6中实现继承

我正在尝试使用实体框架6.0和数据库第一种方法实现继承.我想实现继承的原因是因为我想在我的所有表中添加以下字段.

它们是:( 实际上在常见的数据库设计中,我们总是添加这些审计字段.)

  • 由...制作
  • CreatedTime
  • ModyfiedBy
  • ModyfiedTime

我知道TPT(每种类型的表格)是制作它的方法之一.但我认为TPT不是解决问题的正确方法.因为TPT需要为Base类型创建一个表.但就我而言,我认为没有必要.有什么方法可以做到吗?谢谢.

inheritance entity-framework entity-framework-6

1
推荐指数
1
解决办法
1200
查看次数

使用Oracle Advanced Security Options管理Oracle客户端

10月14日,Oracle发布了最新版本的Oracle Managed Client,该版本被描述为支持网络数据加密.

http://www.oracle.com/technetwork/topics/dotnet/tech-info/odac12cr4ds-2704217.pdf https://www.nuget.org/packages/Oracle.ManagedDataAccess/

虽然在尝试多种配置后出于某种原因,我们仍然无法使其工作.我们不断收到臭名昭着的ORA-12570: Network Session: Unexpected packet read error异常The provider did not return a ProviderManifestToken string.警报日志中的错误如下TNS-12599: TNS:cryptographic checksum mismatch

我们确实与DBA确认我们使用的是支持的加密算法.

此时,我唯一的其他设置如下:

  <settings>
    <setting name="SQLNET.AUTHENTICATION_SERVICES" value="NTS" />
    <setting name="NAMES.DIRECTORY_PATH" value="LDAP,tnsnames" />
  </settings>
Run Code Online (Sandbox Code Playgroud)

.net oracle odp.net entity-framework-6 oracle12c

1
推荐指数
1
解决办法
2504
查看次数

EF6:如何避免循环引用?

在使用ASP.NET Web API进行JSON序列化期间,避免使用Entity Framework 6进行循环引用的可能性有哪些?

我首先为数据库Entity Framework 6生成了edmx(实体数据模型)文件。我尝试使用ASP.NET Web API构建API。当我尝试在控制器中返回JSON对象时,由于循环引用,我遇到了序列化的运行时异常。

确实,当我仔细检查数据库和实体时,我看到一个实体包含一个列表,另一个实体包含了先前实体的列表。假设我有一个包含作者的图书实体,每个作者实体均包含一个图书列表。这在相对数据库中很常见,但无法在JSON序列化中解决(或无法为.NET序列化器解决)。

我不想更改数据库,但已准备好将错误的列表分解为实体或edmx文件。我能做什么?

我尝试过的

我已经尝试过由创建新模型或实体以及使用映射工具(http://www.codeproject.com/Articles/292970/Avoiding-Circular-Reference-for-Entity-in-JSON-Ser或Shawn Wildermuth在Pluralsight上解释的解决方案)。

与实际解决方案相比,此解决方案听起来更像是一种解决方法。它应该在edmx文件或Entity Framework中存在一些内容,以告诉JSON序列化程序哪些会导致循环引用,哪些可以并且必须序列化,哪些不能序列化,对吗?

c# json asp.net-web-api entity-framework-6

1
推荐指数
1
解决办法
9827
查看次数

不使用saveChanges更新DBSet

我尝试达到以下目的:

  • 将新实体添加到DbContext的数据集中.
  • 不执行SaveChanges,因为插入后出现任何错误,新条目不应该转到数据库
  • 但是我需要稍后搜索新条目是否在Customer集合中

以下是我现在的情况:

public virtual DbSet<Customer> Customers { get; set; }

_context.Customers.Add(customer);
// NO _context.SaveChanges();
// ...
var existsingUser = _context.Customers
        .FirstOrDefault(x => x.CodeCustomer == customer.CodeCustomer);
// existsingUser = null, and should be valid populated object
Run Code Online (Sandbox Code Playgroud)

如果我执行SaveChanges,则existsingUser不再为null,但数据将保存到数据库.

_context.Customers.Add(customer);
_context.SaveChanges();
// ...
var existsingUser = _context.Customers
        .FirstOrDefault(x => x.CodeCustomer == customer.CodeCustomer);
// existsingUser = has object
Run Code Online (Sandbox Code Playgroud)

是否有任何可能的解决方案'真的'将客户添加到Customers集合,没有saveChanges()?如果是的话,请告诉我,

.net c# entity-framework transactions entity-framework-6

1
推荐指数
1
解决办法
73
查看次数

表名和实体框架6之间的关系如何形成?

我的数据库上的表的名称与我的上下文中的dbset不同,我的应用程序正在运行.

例如:表的名称是Produtoes,我的上下文包含:

public DbSet<Produto> Produtos { get; set; }
Run Code Online (Sandbox Code Playgroud)

我试图在我的项目中找到"Produtoes"这个词,但这个词并不存在.

我的应用程序如何工作?

源代码:https://github.com/alura-cursos/desenvolvimento-web-asp-net-mvc-5/archive/aula3.zip

要查看情况,请致电:

localhost:port/produto
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc entity-framework-6

1
推荐指数
1
解决办法
70
查看次数