簡體   English   中英

來自表名的實體框架實體信息(用於審計)

[英]Entity Framework Entity Information from the Table Name (for auditing)

在實體框架(對於 .NET Core)中,可以從對象類型獲取實體和屬性信息,例如DB.Model.FindEntityType(curObj.GetType()).GetProperties() ,然后像property.SqlServer()這樣的調用property.SqlServer()可以給你映射的屬性信息。

是否可以從表名而不是實體類型開始? 例如,假設我知道這個表叫做EMPLOYEE ,有沒有辦法讓實體框架給我映射到這個表名的實體?

我為什么要這樣做?

我知道這不是使用 Entity Framework 的標准方式,但我們有一個數據庫審計系統,我們現在想要向用戶展示,所以我們需要手動將數據庫數據映射到代碼。

我認為沒有辦法直接做到這一點。

我所做的是掃描實體所在的程序集和命名空間,並通過手動循環遍歷每個實體來填充我自己的結構。

        // null checks removed for demonstration
        var asm = Assembly.Load(myEntityAssembly);
        var classes = asm.GetTypes().Where(p => p.Namespace?.StartsWith(myEntityNamespace) == true).ToList();

        foreach (var type in classes)
        {
            var entityType = DB.Model.FindEntityType(type);
            var tableName = entityType.SqlServer().TableName.ToUpper();
            // ...
        }

暫無
暫無

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

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