В начале я должен сказать, что я не знаю, должно ли это быть отношение «многие ко многим». Корабль
Допустим, у меня есть три класса:
User-detalis, которые имеютнекоторая базовая информация о пользователе, например регион, город
public class UserDetails
{
public int Id{get;set;}
public string City{get;set;}
public strng Region{get;set;}
}
Следующий класс - UserDetailsDictionary
public class UserDetailsDictionary
{
public int Id{get;set;}
public string Name{get;set;}
public string DetailsType{get;set;}
}
Этот класс будет содержать такие значения, как:
Name = "football", detailsType="interests",
Name = "basketball", detailsType="interests",
Name = "brown", detailsType="eyes",
Name = "green", detailsType="eyes"
и последнийодин класс, должен содержать информацию о соединении userDetails со словарем и значениями:
public class JoiningClass
{
public UserDetails UserDetails{get;set;}
public UserDetailsDictionary DictionaryItem{get;set;}
public bool Value{get;set;}
}
И значения в этом классе должны быть такими:
(1,1,0)
(1,1,1)(first user like basketball)
(1,2,0)(first user does not have brown eyes)
(2,1,1) (second user likes football)
И в коде я хотел бы проверитьзначение двумя способами, я имею в виду:
UserDetailsDictionary type;
...
var val1 = _dbContext.UserDetails.Where(x=> x.DictionaryItem.Id == type.Id).Value;
и другими способами
UserDetails ud;
...
var allDetailsOfUser = _dbContext.UserDetailsDictionary.ToArray();
, а также, скажем, я хочу найти всех пользователей (userDetails) с карими глазами:
var dictionaryItem = _dbContext.UserDetailsDictionary.Where(x=>x.Name == "eyesColor").SingleOrDefault();
var userDetails = _dbContext.JoiningClass...?
Как мне создать эти классы?Как создать правильные отношения с сущностью (ядро 2.0) в классе DbContext?