Entity Framework 6 自定义连接字符串ConnectionString连接MySQL
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Entity Framework 6 自定义连接字符串ConnectionString连接MySQL,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4291字,纯文字阅读大概需要7分钟。
内容图文
![Entity Framework 6 自定义连接字符串ConnectionString连接MySQL](/upload/InfoBanner/zyjiaocheng/486/8274e5c5d5c64ac2b86a1d70090476b0.jpg)
下面就来一步步介绍如何在VS2015中添加ADO.NET实体数据模型。
图一 添加ADO.NET实体数据模型
1 新建一个文件夹,并向这个文件夹中添加一个ADO.NET实体数据模型,例如ModelTest。
2 添加一个来自数据库的EF设计器,这里有四个选项,每一个都对应一种模型内容,这里暂时不介绍,在以后的序列中在做介绍。
图二 选择模型内容
3 新建连接。
图三 新建连接
图四 选择数据源
图五 修改连接属性
4 选择数据库对象,并生产对象关系映射。
图六 选择数据库对象和设置
图七 生产的特定于域的对象
下面一部分我们来看看自动生成的连接字符串。
<add name="dvapEntities" connectionString="metadata=res://*/EF6.ModelTest.csdl|res://*/EF6.ModelTest.ssdl|res://*/EF6.ModelTest.msl;provider=MySql.Data.MySqlClient;provider connection string="server=localhost;user id=root;password=12345;database=dvap"" providerName="System.Data.EntityClient" />
有时候我们不仅仅需要在配置文件中配置,这样我们就暴露了很多重要的信息,而在很多时候我们需要通过代码来生成连接字符串,那么这该怎么做呢?因为这个配置文件还是包含很多信息的,经过我的许多努力,终于在msdn上面找到了答案。
string server = System.Configuration.ConfigurationManager.AppSettings["MySQLServer"]; if (!string.IsNullOrEmpty(server)) { string providerName = "MySql.Data.MySqlClient"; MySqlConnectionStringBuilder sqlbulider = new MySqlConnectionStringBuilder(); sqlbulider.Server = server; sqlbulider.UserID = "root"; sqlbulider.Password = "12345"; sqlbulider.Database = "dvap"; sqlbulider.AllowZeroDateTime = true; sqlbulider.ConvertZeroDateTime = true; sqlbulider.IntegratedSecurity = true; EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder(); entityBuilder.Provider = providerName; entityBuilder.ProviderConnectionString = sqlbulider.ToString(); entityBuilder.Metadata = @"res://*/EF6.DvapRegularModel.csdl|res://*/EF6.DvapRegularModel.ssdl|res://*/EF6.DvapRegularModel.msl"; m_ConnectionString = entityBuilder.ToString(); }
通过上面的方式我们能够生成正确的连接字符串,在生成连接字符串之后我们需要将这个连接字符串传入到自动生成的dvapEntities对象中,这里也贴出部分代码。
namespace TestEF6.EF6 { using System; using System.Data.Entity; using System.Data.Entity.Infrastructure; public partial class dvapEntities : DbContext { public dvapEntities() : base("name=dvapEntities") { } protected override void OnModelCreating(DbModelBuilder modelBuilder) { throw new UnintentionalCodeFirstException(); } public virtual DbSet<dvap_scene_business> dvap_scene_business { get; set; } public virtual DbSet<echarts_barcharts_singleverticalcolumn> echarts_barcharts_singleverticalcolumn { get; set; } public virtual DbSet<echarts_barcharts_singleverticalcolumnproperty> echarts_barcharts_singleverticalcolumnproperty { get; set; } public virtual DbSet<logs> logs { get; set; } public virtual DbSet<options> options { get; set; } public virtual DbSet<test_stackhistogram> test_stackhistogram { get; set; } public virtual DbSet<users> users { get; set; } } }
仅仅使用默认的 dvapEntities函数肯定达不到要求,我们需要重载一个能够将连接字符串作为参数的构造函数,这里我们表述如下:
public dvapEntities(string connectionString) :base(connectionString) { }
后面我们就可以使用这个构造函数来获取数据库中相应的数据了,这里我们也贴出相关的代码来作为参考。
public string GetOptionValue(string option_name) { try { using (var db = new EF6.dvapEntities(m_ConnectionString)) { EF6.options option = null; option = (from x in db.options where x.OptionName == option_name && x.UserID == 0 select x).SingleOrDefault() ?? null; if (null != option) { return option.OptionValue; } } return ""; } catch (Exception ex) { return ""; } }
如果想查看当前代码示例请点击此处进行下载!
Entity Framework 6 自定义连接字符串ConnectionString连接MySQL
标签:select test context mos src time rate lin entity
本文系统来源:http://www.cnblogs.com/seekdream/p/7100938.html
内容总结
以上是互联网集市为您收集整理的Entity Framework 6 自定义连接字符串ConnectionString连接MySQL全部内容,希望文章能够帮你解决Entity Framework 6 自定义连接字符串ConnectionString连接MySQL所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。