Предположим, что я имел эти два класса:Как сопоставить таблицу с перечислимым свойством с использованием структуры сущностей? (База данных первого)
public class MyClass {
public int Id { get; set; }
public IEnumerable<MyData> MyDataCollection { get; set; }
}
public class MyData {
public int DataId { get; set; }
public string Data { get; set; }
public int Id { get; set; }
}
и у меня было две таблицы в моей базе данных:
MyClasses:
Id
1
2
MyDatas:
DataId Id Data
1 - 1 - "Hello"
2 - 1 - "World"
3 - 2 - "Hello World"
Как использовать структуру сущностей, чтобы связать их, так что я можно сделать:
using (var db = new DataContext()) {
var data = db.MyClass.Where(c => c.ID == 1).MyDataCollection;
foreach (var item in data) Console.WriteLine(item.Data);
}
у меня есть другие данные, но до сих пор я только что написал [NotMapped] выше MyDataCollection
собственности, но очевидно, что я хочу избавиться от этого и отобразить его. Как мне (правильно) отобразить его?
MyDataCollection - это обычное свойство навигации. Явным образом сопоставляю внешний ключ, так как он не соответствует первым правилам кода, и вам хорошо идти. – DevilSuichiro