我首先将 MVC4 与实体框架代码一起使用。
我有以下型号:
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>
很棒但我真正需要的是数据库中关联的成员的 ID。不幸的是,这不是我可以在 LINQ 中选择的选项
return db.Favorites.Where(f => searchTerms.Any(s => f.Value.Contains(s))).Select(f => f.????) .ToList();
这 ???只给我ID
, Type
, Value
. 的属性Favortie
,但是在创建的数据库表实体框架中有一个外键列Member_ID
。但我不能在 C# 中选择它。
所以我的问题是……我该怎么做?我只是public virtual int MemberID
在最喜欢的课程中添加一个吗?实体框架会自动将其与外键关联吗?