Сначала я использую MVC4 с кодом Entity Framework.Доступ к внешнему ключу от одного к другому отношениям с использованием LINQ
У меня есть следующие модели:
public class Member {
public int ID { get; set; }
[Display(Name = "First Name")]
[Required(ErrorMessage = "Please enter a first name.")]
public string FirstName { get; set; }
[Display(Name = "Last Initial")]
[Required(ErrorMessage = "Please enter the last initial of your last name.")]
[MaxLength(1)]
public string LastName { get; set; }
[Display(Name = "City")]
[Required(ErrorMessage = "Please enter your city.")]
public string City { get; set; }
public virtual ICollection<Favorite> Favorites { get; set; }
}
public class Favorite {
public int ID { get; set; }
public String Type { get; set; }
public String Value { get; set; }
}
Мой код получает список поисковых терминов List<string> searchTerms
от переднего конца. Мне нужно искать значения фаворитов каждого участника для каждого поискового запроса.
Я работаю следующее заявление LINQ:
return db.Favorites.Where(f => searchTerms.Any(s => f.Value.Contains(s))).ToList();
Мой вопрос это будет возвращать List<Favorite>
, который является большим, но то, что мне действительно нужно, это идентификатор элемента, связанного в базе данных. К сожалению, это не вариант, который я могу выбрать в LINQ
return db.Favorites.Where(f => searchTerms.Any(s => f.Value.Contains(s))).Select(f => f.????) .ToList();
??? ??? только дает мне ID
, Type
, Value
. Свойства Favortie
, однако в базе данных базы данных Entity Framework создан столбец внешнего ключа Member_ID
. Но я не могу выбрать это на C#.
Так что мои вопросы ... как я? Добавляю ли я только public virtual int MemberID
в избранное? Будет ли инфраструктура сущности автоматически связываться с внешним ключом?
Почему не будет вы просто пытаетесь добавить дополнительное свойство в класс «Любимый»? – MarcinJuraszek