1

私のプロジェクトでは、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ます:

  1. hasCategory: カテゴリ (Id) から製品 (CategoryId) へ、1 から多数へ
  2. 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 つのクラスのどちらを探すべきかわかりません。hasCategoryhasTypeCategoryType

4

1 に答える 1