私のプロジェクトでは、EF with ADO.NET
. Entity Framework
次のクラスにいるとします
class Product
{
int Id { get; set;}
string Name { get; set; }
int TypeId { get; set; }
int CategoryId { get; set; }
}
class Type
{
int Id { get; set; }
string Name { get; set; }
}
class Category
{
int Id { get; set; }
string Name { get; set; }
}
そして、私は持っていnavigation properties
ます:
- hasCategory: カテゴリ (Id) から製品 (CategoryId) へ、1 から多数へ
- hasType: Type(Id) から Product(TypeId) へ、1 から Many
したがって、製品の特定のカテゴリ名またはタイプ名にアクセスしたい場合 (コンテキストが与えられた場合):
int productId = 1;
var categoryName = context.Products.Single(p => p.Id == productId).hasCategory.Name;
var typeName = context.Products.Single(p => p.Id == productId).hasType.Name;
プロパティ名があれば、プロパティを取得できます。
string propertyName = "CategoryId";
var propertyValue = GetType(Product).GetProperty(propertyName)
名前を取得するために、一致するナビゲーション プロパティ (または) を取得する方法があるかどうかを知りpropertyName
たいです。そうでなければ、2 つのクラスのどちらを探すべきかわかりません。hasCategory
hasType
Category
Type