Tag: entity framework

MySQL For Visual Studio 2012/2013

我想使用MySQL数据库创建EF模型。 我在64位机器上运行VS2012和VS2013。 在需要添加新连接时,我需要安装什么才能让MySQL显示在实体数据模型向导中? 我尝试添加MySQL.Data.Entities Nuget包,但我仍然没有在向导中获得该选项。 在搜索MySQL .NET Connector时,我只能找到32位下载。 请指教。 谢谢 更新: 我再次运行MySQL安装程序,发现没有安装MySQL for Visual Studio。 我再次运行它并得到一个错误。 以下是安装细节的结束: 1:文件:license-zlib-net.html,目录:C:\ Program Files(x86)\ MySQL \ MySQL for Visual Studio 1.0.2 \ Documentation \ Licenses for Third-Party Components \,Size:17171 1:Action 6 :09:56:ManagedDataInstall。 在machine.config中注册数据提供程序1:操作6:09:56:回滚。 回滚操作:1:在machine.config中注册数据提供程序1:复制新文件1:创建文件夹1:更新组件注册1:1:MySQL for Visual Studio 1.0.2 2:{0D406BCC-D62A-46FB-9AB7-A7BF10FB8B31 3:3 1:1:最后的行动。 1:安装错误 我可以粘贴详细信息的全部内容,但希望有足够的信息。 这提供了任何线索吗? 几乎看起来安装在修改machine.config文件时遇到了问题,但我通过添加“Everyone”来更改这些文件的安全性以获得读取和写入权限(暂时)。

如何修复:关系约束中的从属角色和主要角色中的属性数必须相同?

我正在使用entity framework4.3.1对SQL Server 2012数据库,我正在使用POCO方法。 我收到以下错误,我想知道是否有人可以解释如何解决它: ModelValidationException 在模型生成期间检测到一个或多个validation错误:\ tSystem.Data.Entity.Edm.EdmAssociationConstraint ::关系约束中的从属角色和主要角色中的属性数必须相同。 没有InnerException可用于任何进一步的信息。 我无法更改数据库架构,这有点奇怪,但这里是…… **是主键(注意我有复合主键) (FK)表示外键 以下是表格(如果它有助于我发布SQL以生成它们,但我不认为这些表实际上是问题,因为例外是在模型的validation中): One – **OneId int not null **TwoId int not null (FK) **ThreeId int not null (FK) Name nvarchar(50) not null Two – **TwoId int not null **ThreeId int not null (FK) Name nvarchar(50) not null Three – **ThreeId not null Name […]

asp.net mvc中db上下文类的用途是什么

我是mvc的新手并且已经做了一些教程来掌握它,但在其中一些教程中,我遇到了一个带有EF6 教程的DbContext类asp.net mvc5的例子 我曾尝试研究DbContext Class的信息,但无法获得任何让我更聪明的信息! 所有我能找到的更多相同的教程,信息很少我也在msdn DbContext Class上查了一下这个类。 我之前的教程没有db上下文类,它工作正常,我的问题是我需要使用上下文类,使用DbContext类有什么好处? 任何帮助将不胜感激谢谢。

Code-First EF4中的多对多关系

您如何在EF4 Code-First CTP3中表示多对多关系? 例如,如果我有以下类: class User { public int Id { get; set; } public string Name { get; set; } public ICollection Profiles { get; set; } } class Profile { public int Id { get; set; } public string Name { get; set; } } 在数据库中有一个UserProfiles表,其中包含FK for User和FK for Profile。 我该如何映射? 编辑:我知道当前如何映射在Profile上有一个ICollection属性,但我真的不希望有一个相反的导航属性应该是“用户有很多配置文件”。

在C#中运行时设置entity framework连接字符串

我需要在运行时设置我的Entity Framework连接字符串。 现在,我有以下内容: string connectionString = “metadata=res://*/DataModels.CustomerDataModel.csdl|res://*/DataModels.CustomerDataModel.ssdl|res://*/DataModels.CustomerDataModel.msl;provider=System.Data.SqlClient;provider connection string="data source=tcp:{serverName},{portNumber};initial catalog={databaseName};user id={username};multipleactiveresultsets=True;application name=EntityFramework"”; using (CustomerEntities entities = new CustomerEntities(connectionString)) { CustomerEntity entity = new CustomerEntity(); // do more entities.CustomerEntities.Add(entity); entities.SaveChanges(); } 当我执行上面的代码(替换{parameter}值)时,我收到以下错误: 不支持关键字:’数据源’。 我究竟做错了什么?

代码优先迁移中的update-database命令出错

我正在使用WPF中的桌面应用程序并使用LocalDB创建SqlRepository来存储数据。 我正在使用以下工具 Visual Studio 2013社区,更新2 entity framework6.1.2用于代码首次迁移 我使用Microsoft SQL Server数据库文件(SqlClient)配置创建了本地数据库。 数据库创建成功,下面是从Sql获取的连接字符串 Data Source=(LocalDB)\v11.0;Initial Catalog=D:\USERS\USERNAME\DOCUMENTS\TestDatabase\testdb.MDF;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False 我在app.config中使用相同的连接字符串。 我可以在Visual Studio中的SQL Server数据库资源管理器中查看数据库对象。 但是当在Nuget包管理器控制台中运行update-database命令时,我收到以下错误: 建立与SQL Server的连接时发生与网络相关或特定于实例的错误。 服务器未找到或无法访问。 validation实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:26 – 查找指定的服务器/实例时出错)

HOWTO:带有EntityFramework和Code-First的SQLite

我正在尝试使用EF动态创建嵌入式SQLite数据库但是,我无法使其工作,数据库文件永远不会被创建。 我有EF 4.2和最新版本的SQLite 这就是我所拥有的 的app.config 数据库初始化程序(放入一些内容) class PageDbInitializer : DropCreateDatabaseAlways { protected override void Seed(PageDB context) { for (int i = 0; i < 10; i++) { WebPage page = new WebPage() { Name = "Page" + (i + 1) }; context.Pages.Add(page); } base.Seed(context); } } 的DbContext: class PageDB : DbContext { public DbSet Pages […]

entity framework中多个“包含”的最佳实践是什么?

假设我们在数据模型中有四个实体:Categories,Books,Authors和BookPages。 还假设Categories-Books,Books-Authors和Books-BookPages关系是一对多的。 如果从数据库中检索类别实体实例 – 包括“Books”,“Books.BookPages”和“Books.Authors” – 这将成为一个严重的性能问题。 而且,不包括它们将导致“对象引用未设置为对象的实例”exception。 使用多个Include方法调用的最佳做法是什么? 写一个方法GetCategoryById并包含所有项目(性能问题) 写一个方法GetCategoryById并发送一个包含的关系列表(可能,但似乎还不够优雅) 编写方法,如GetCategoryByIdWithBooks,GetCategoryByIdWithBooksAndBooksPages和GetCategoryByIdWithBooksAndAuthors(不实用) 编辑 :通过第二个选项我的意思是这样的: public static Category GetCategoryById(ModelEntities db, int categoryId, params string[] includeFields) { var categories = db.Categories; foreach (string includeField in includeFields) { categories = categories.Include(includeField); } return categories.SingleOrDefault(i => i.CategoryId == categoryId); } 在调用时我们需要这样的代码: Category theCategory1 = CategoryHelper.GetCategoryById(db, 5, “Books”); Category theCategory2 […]

与EntityFramework 6的SqlDependency(异步)

我正在使用EF 6 async查询function,例如 var list = await cx.Clients.Where(c => c.FirstName.Length > 0).ToListAsync(); 我还想在这些查询上启动SQL依赖项,以便在数据库中的数据发生更改时收到通知。 我可以使用System.Runtime.Remoting.Messaging.CallContext执行此操作,如下所示: async Task GetData() { using (ClientsContext context = new ClientsContext()) // subclass of DbContext { SqlDependency.Start(context.Database.Connection.ConnectionString); SqlDependency dependency = new SqlDependency(); dependency.OnChange += (sender, e) => { Console.Write(e.ToString()); }; System.Runtime.Remoting.Messaging.CallContext.SetData(“MS.SqlDependencyCookie”, dependency.Id); var list = await context.Clients.Where(c => c.FirstName.Length > 0).ToListAsync(); } […]

有没有快速的方法将实体转换为.csv文件?

目前,我有: string outputRow = string.Empty; foreach (var entityObject in entityObjects) { outputRow = entityObject.field1 + “,” + entityObject.Field2 etc…. } 我还是entity framework的新手,有更快的方法吗?