EF 实现自定义数据库字符串

4418040-88555306818d5414


1、EF模板生成继承DbContext的类文件重新建一个部分类文件

避免每次生成实体都会覆盖掉。

2、重新构造调用数据库连接字符串的函数

VS模板生成示例:

public Test_DBEntities()

: base("name=Test_DBEntities")

{

}    

重写函数

public Test_DBEntities(string connectionString)

: base(connectionString)

{

}  

3、自定义EF数据库字符串函数(SQLServer) 

public static string GetConnection()

{


string DataSource = ".";

string DataBase = "DB;

string UserId = "sa";

string PassWord = "sa";

SqlConnectionStringBuilder sqlBuilder = new SqlConnectionStringBuilder();

sqlBuilder.DataSource = DataSource;

sqlBuilder.InitialCatalog = DataBase;

sqlBuilder.PersistSecurityInfo = true;

sqlBuilder.IntegratedSecurity = true;

sqlBuilder.MultipleActiveResultSets = true;

sqlBuilder.UserID = UserId;

sqlBuilder.Password = PassWord;

EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder();

entityBuilder.ProviderConnectionString = sqlBuilder.ToString();

entityBuilder.Metadata = "res://*/";

entityBuilder.Provider = "System.Data.SqlClient";

return entityBuilder.ToString();

}  

4、调用示例

 string definestr = "";//自定义数据库查询结果

string str = "";

using (var db = new Test_DBEntities())

{

var list = db.T_User.Select(m=>m.name).ToList();

str= string.Join(",", list);

}

using (var db = new Test_DBEntities(ConnectionHelper.GetConnection()))

{

var list = db.T_User.Select(m => m.name).ToList();

definestr = string.Join(",", list);

}    

posted @   天使不哭  阅读(213)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示