【发布时间】:2014-05-14 21:08:26
【问题描述】:
所以我是 C#、LINQ 和 MVC 的新手。我正在尝试获取年龄列表,但它显示
LINQ to Entities 不支持指定的类型成员“年龄”。 只有初始化器、实体成员和实体导航属性 支持。
在之前的教程中,他们使用了完全相同的逻辑,只是他们检查的是字符串,而不是 int (Age)。为什么这让我感到不适,我该如何解决?
public ActionResult SearchIndex(string ageValue, string searchString)
{
if (!string.IsNullOrEmpty(ageValue))
{
var AgeList = new List<string>();
var AgeListQry = from d in db.Actors orderby d.Age select d.Age.ToString();
AgeList.AddRange(AgeListQry.Distinct());
}
// other stuff
}
我想知道发生了什么,这样我以后就可以避免这种情况了!
实体模型代码
public class Actor
{
public int ID { get; set; }
public string Name { get; set; }
public DateTime BirthDate { get; set; }
public int Age
{
get {
return (int)(DateTime.Now - BirthDate).TotalDays / 365;
}
}
public decimal NetValue { get; set; }
}
public class ActorDBContext : DbContext
{
public DbSet<Actor> Actors { get; set; }
}
【问题讨论】:
-
ToString 在 SQL Server 端不受支持。不要使用 ToString()
-
@ToughCoder 你应该把这个作为答案发布:)
-
@SergeyBerezovskiy 这需要时间。:)
-
你能展示你的实体模型吗?
-
@HamletHakobyan 添加了!
标签: c# linq entity-framework linq-to-entities