1

実行時に情報を取得しObjectContext.Metadataて、オブジェクトのプロパティがマップされているテーブルの列を見つけるにはどうすればよいですか?

編集:

これが 1 つだけのテーブルにマップされるエンティティに対してのみ機能する場合は幸いです。

4

1 に答える 1

0

これはMetaDataを使用しませんが、これが私のやり方です:)

using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

    public static string GetFullTableName(this Type t)
    {

        string exp = "[{0}].[{1}]";

        if (Attribute.IsDefined(t, typeof(TableAttribute)))
        {
            var attr = (TableAttribute)t.GetCustomAttributes(typeof(TableAttribute), false).First();
            return string.Format(exp, attr.Schema, attr.Name);
        }
        else
        {
            return string.Format("[dbo].[{0}]", t.Name);
        }
    }
于 2015-12-19T12:54:32.017 に答える