using (var lobo = new MyGymEntities())
{
}
我想獲得DbContext
名稱(在這種情況下是MyGymEntities
)與反思,這可能嗎?
我想字符串值存儲到一個變量..
編輯:
我不想鍵入MyGymEntities.GetType().Name/FullName
做到這一點。
我問是否有可能以某種方式獲得的組裝此信息,如
Assembly.GetExecutingAssembly().GetName().Name; //Return Projectname
UPDATE
下面的解決我的問題,萬一有人
var a = Assembly.GetExecutingAssembly()
.DefinedTypes
.Where(x => x.BaseType?.Name == "DbContext").ToList();
Console.WriteLine(a.First().FullName);
好的,夥計們,我會解釋爲什麼這個問題不是重複的,爲什麼我想獲取DbContext的名稱。
我很清楚,可以通過調用GetType()。Name對象來訪問對象的name屬性,但該方法只能由對象本身調用,這意味着我需要指定哪些對象的名稱屬性我想檢索。
例:
MyObject.GetType().Name;
但是我想要做的是:獲得DbContextName(如果有任何)是上項目,解決方案。
爲什麼我需要這個?因爲我有我的處理查詢
我的自定義表單內目前通用的形式,我有這樣的事情
MyGymEntities context = new MyGymEntities();
現在如果我複製並粘貼當前的解決方案文件夾中創建一個新的項目,我將有將上面顯示的DbContext重命名爲我的解決方案的新DbContext的名稱。但是,如果我使用它來獲取ContextName,那麼比創建此名稱的DbContext的新實例並在我的自定義窗體上使用它,因此將需要爲每個將要創建的項目配置更少的配置...
var ContextName = Assembly.GetExecutingAssembly()
.DefinedTypes
.Where(x => x.BaseType?.Name == "DbContext").ToList().First().Name;
謝謝!
'GetType()。Name'? – FakeCaleb
[C#獲取自己的類名稱](https:// stackoverflow。com/questions/2113069/c-sharp-getting-its-own-class-name) – FakeCaleb
不,這不是一個重複的項目,我對不好的英語感到抱歉,我已經更新了我的問題,以便更清楚 – Licentia