是否可以让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
我创建了一个新的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
我想知道如何找到一个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) 我正在开发一个Web服务。
该服务的背后是两种方法:一种是从MySQL连接获取实体,另一种是从MSSQL Server连接获取实体。
我有两个连接字符串。
我想有两个上下文,它们是完全分开的。
但是我无法管理这个。
有任何想法吗?
在我的团队中,我们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手动修复它; 而不是尝试自动升级数据库.我不想要任何自动迁移.
无论如何要实现这一目标吗?
我正在尝试使用实体框架6.0和数据库第一种方法实现继承.我想实现继承的原因是因为我想在我的所有表中添加以下字段.
它们是:( 实际上在常见的数据库设计中,我们总是添加这些审计字段.)
我知道TPT(每种类型的表格)是制作它的方法之一.但我认为TPT不是解决问题的正确方法.因为TPT需要为Base类型创建一个表.但就我而言,我认为没有必要.有什么方法可以做到吗?谢谢.
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) 在使用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序列化程序哪些会导致循环引用,哪些可以并且必须序列化,哪些不能序列化,对吗?
我尝试达到以下目的:
以下是我现在的情况:
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()?如果是的话,请告诉我,
我的数据库上的表的名称与我的上下文中的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# ×5
.net ×3
asp.net-mvc ×1
breeze ×1
find ×1
hottowel ×1
inheritance ×1
json ×1
mysql ×1
odp.net ×1
oracle ×1
oracle12c ×1
sql-server ×1
transactions ×1