Tag: entity framework

如何指定一个属性应该生成一个TEXT列而不是nvarchar(4000)

我正在使用entity framework的代码优先function,我想弄清楚如何指定自动生成数据库时应该创build的列数据types。 我有一个简单的模型: public class Article { public int ArticleID { get; set; } public string Title { get; set; } public string Author { get; set; } public string Summary { get; set; } public string SummaryHtml { get; set; } public string Body { get; set; } public string BodyHtml { get; set; […]

找不到可执行的匹配命令“dotnet-ef”

我正在使用ASP.Net Core RC2与Microsoft.EntityFramework.Core和SQLite做项目示例。 我按照这个教程: https : //damienbod.com/2015/08/30/asp-net-5-with-sqlite-and-entity-framework-7/ 但是,当我运行这个命令: dotnet ef migrations add FirstMigration 我得到这个错误: No executable found matching command "dotnet-ef" 这是我的project.jsonconfiguration: { "dependencies": { "Microsoft.NETCore.App": { "version": "1.0.0-rc2-3002702", "type": "platform" }, "Microsoft.AspNetCore.Mvc": "1.0.0-rc2-final", "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-rc2-final", "Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final", "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-rc2-final", "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0-rc2-final", "Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final", "Microsoft.Extensions.Logging": "1.0.0-rc2-final", "Microsoft.Extensions.Logging.Console": "1.0.0-rc2-final", "Microsoft.Extensions.Logging.Debug": "1.0.0-rc2-final", "Microsoft.EntityFrameworkCore": "1.0.0-rc2-final", "Microsoft.EntityFrameworkCore.Sqlite": "1.0.0-rc2-final" }, "tools": […]

无法将文件* .mdf附加为数据库

基本上我已经遵循了一个教程,并决定在之后删除.mdf文件。 现在每当我尝试运行应用程序,我得到以下错误(这个线程的标题)。 我得到错误的代码如下所示(ASP.NET MVC 4): OdeToFoodDB db = new OdeToFoodDB(); public ActionResult Index() { var model = db.Restaurants.ToList(); return View(model); } 我的连接string如下: <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=OdeToFoodDb;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\OdeToFoodDb.mdf" providerName="System.Data.SqlClient" /> 我试过看SQL Server对象资源pipe理器,但它看起来如下: 此外,在服务器资源pipe理器中,我看不到任何数据连接。 而当我尝试在服务器资源pipe理器中添加一个新的连接时,我看不到任何名为OdeToFoodDb数据库。 对不起,这个广泛的问题,但我是新来的entity framework,并没有完全得到这里的错误。

DbSet.Create与新实体()的分支

我对是否使用DbSet.Create有点困惑,或者只是简单地添加一个实体并添加它。 我真的不明白使用DbSet.Create的后果。 我知道DbSet.Create将创build一个代理版本(如果适用的话),但我不明白这意味着什么。 为什么我在乎 在我看来,一个空的Proxied类没有比非代理类更有用,因为没有相关的实体来延迟加载。 你能告诉我,除了明显的差异吗? 你为什么要关心?

在逆向工程数据库时改进导航属性名称

我使用entity framework5与Visual Studio与entity framework电动工具testing版2来逆向工程中等大小的数据库(~100表)。 不幸的是, 导航属性没有有意义的名字 。 例如,如果有两个表: CREATE TABLE Contacts ( ContactID INT IDENTITY (1, 1) NOT NULL, … CONSTRAINT PK_Contacts PRIMARY KEY CLUSTERED (ContactID ASC) } CREATE TABLE Projects ( ProjectID INT IDENTITY (1, 1) NOT NULL, TechnicalContactID INT NOT NULL, SalesContactID INT NOT NULL, … CONSTRAINT PK_Projects PRIMARY KEY CLUSTERED (ProjectID ASC), […]

删除entity framework中的所有实体

我想删除所有表(所有实体)使用entity framework4 +的内容。 如何才能做到这一点?

entity framework6代码优先 – 存储库实施是否好?

我即将实施一个entity framework6devise与存储库和工作单元。 有太多的文章,我不知道什么是最好的build议是:例如,我真的喜欢这里实现的模式:由于在这里的文章中build议的原因 但是, Tom Dykstra (Senior Programming Writer on Microsoft's Web Platform & Tools Content Team)build议,应该在另一篇文章中做: 我订阅Pluralsight ,而且每次在课程中使用时都会以稍微不同的方式实现,所以selectdevise是困难的。 有些人似乎认为这个工作单元已经在DbContext中实现了,所以我们根本就不需要去实现它。 我意识到这种types的问题已经被问过,这可能是主观的,但我的问题是直接的: 我喜欢第一个(Code Fizzle)文章中的方法,想知道它是否可以更容易维护,并且可以像其他方法一样易于testing,并且可以安全地继续使用? 任何其他意见都是值得欢迎的。

LINQ to Entities不识别方法Int32 get_Item(Int32)

我是一个关于entity framework和linq的新手。 我的查询是这样的 var query = (from d in db.MYTABLE where d.RELID.Equals(myInts[0]) select d.ID).Distinct(); List<int?> urunidleri = query.ToList(); 当我执行这个代码,我得到了错误信息“LINQ to Entities does not recognized the method Int32 get_Item(Int32)”。 我如何解决我的问题? 谢谢…

MySQL – 实体:表“TableDetails”中的列“IsPrimaryKey”的值是DBNull

我正在使用entity framework5和M ySQL Server 5.7.9的 Visual Studio 2013 。 当试图从数据库创build模型( 或“从数据库更新模型” )时,出现以下消息: 'System.Data.StrongTypingException:表'TableDetails'中'IsPrimaryKey'列的值是DBNull。 —> System.InvalidCastException:指定的转换无效。 我知道这个问题之前已经被问过了,但是我还没有find任何解决办法。 我也没有select降级到MySQL 5.6。 甚至对于简单的表格也会出现问题。 示例表 CREATE TABLE new_table ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(45) NOT NULL, PRIMARY KEY (id) ) ENGINE = InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; 如果表仅由主键组成,则该模型正在被创build。 编辑:如果我使两个字段PRIMARY键模型正在创build没有任何错误。 有没有人有这个想法? 亲切的问候。 完整的错误堆栈: 由于以下exception,无法生成模型:'System.Data.StrongTypingException:表'TableDetails'中'IsPrimaryKey'列的值为DBNull。 —> System.InvalidCastException:指定的转换无效。 在Microsoft.Data.Entity.Design.VersioningFacade.ReverseEngineerDb.SchemaDiscovery.TableDetailsRow.get_IsPrimaryKey()—结束内部exception堆栈跟踪—在Microsoft.Data.Entity.Design.VersioningFacade.ReverseEngineerDb.SchemaDiscovery.TableDetailsRow.get_IsPrimaryKey ()在Microsoft.Data.Entity.Design.VersioningFacade.ReverseEngineerDb.StoreModelBuilder.CreateProperties(IList 1 columns, […]

entity framework代码第一 – 如何运行生产数据库的更新数据库

我想知道如何运行生产数据库的“更新数据库”命令。 “更新数据库”数据库在我的本地机器上工作正常,但是如何获取这个数据用于生产数据呢? 所以,如果我改变了我的应用程序,然后通过Visual Studio运行“发布”,这对于代码方面的工作很好,但是如何为生产数据运行“更新 – 数据库”命令。 希望这个问题有道理… 谢谢,