簡體   English   中英

覆蓋默認連接字符串

[英]Override default connection string

在MVC Web應用程序中,我想根據正在使用的開發機器來覆蓋連接字符串。 我可以使用Web.config轉換,但是我還需要覆蓋各種非Web配置文件中的連接字符串。 我可以使用SlowCheetah擴展名 ,但是最后我將為訪問數據庫的每個項目創建相同的轉換。 當項目變得更大並且擁有更多開發人員時,這是一個維護麻煩。

我想做的是修改Entity Framework或ASP.NET查找連接字符串的方式,添加我自己的用於查找連接字符串的類,並且僅實現一次轉換邏輯。 我希望僅在相關時使用Ninject注入它。

我可以實現和注冊是否有這樣的“ IConnectionStringProvider”接口,並且可以自動使ASP.NET和EF使用它嗎?

編輯。 我已經找到 ,但是看起來很討厭。 如果沒有更干凈的方法,我將使用多個相同的配置轉換,也許讓源代碼控制系統正確復制它們。

您可以告訴Entity Framework使用其他連接字符串-不必在web.config中使用默認的連接字符串。

這是一個示例: http : //www.codeproject.com/Tips/234677/Set-the-connection-string-for-Entity-Framework-at

這是另一個: http : //msdn.microsoft.com/zh-cn/library/bb738533.aspx

如何設計其余部分取決於您。

我個人使用web.config中的應用程序設置來告訴我的代碼在系統的特定部分使用哪個連接字符串,例如

var connectionStringNameForMyFeature = ConfigurationManager.AppSettings["connectionStringNameForMyFeature"];

myFeature.ConnectionString = ConfigurationManager.ConnectionStrings[connectionStringName];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM