C# 匿名类型#1到int

C# 匿名类型#1到int,c#,linq-to-sql,C#,Linq To Sql,这个代码给了我一个错误 无法将类型“AnonymousType#1”隐式转换为“int” 如何避免此错误?如果在访问值之前不检查null,请不要使用FirstOrDefault。只需使用First()即可 其次,您可以直接选择a.ID var _maxID = from a in db.Articles where a.CategoryId == categoryID orderby a.Id descending

这个代码给了我一个错误

无法将类型“AnonymousType#1”隐式转换为“int”


如何避免此错误?

如果在访问值之前不检查null,请不要使用FirstOrDefault。只需使用First()即可

其次,您可以直接选择a.ID

 var _maxID = from a in db.Articles
              where a.CategoryId == categoryID
              orderby a.Id descending
              select new {ID = a.ID};    

 int maxID = _maxID.FirstOrDefault().Id;

如果在访问值之前不检查null,请不要使用FirstOrDefault。只需使用First()即可

其次,您可以直接选择a.ID

 var _maxID = from a in db.Articles
              where a.CategoryId == categoryID
              orderby a.Id descending
              select new {ID = a.ID};    

 int maxID = _maxID.FirstOrDefault().Id;
您可以使用(但在访问之前必须检查null)

您可以使用(但在访问之前必须检查null)


您可以使它更简单,只需使用该函数

int  maxID = Convert.ToInt32(_maxID.FirstOrDefault().ID);
//or
int? maxID = _maxID.FirstOrDefault().ID as int;
//or
int maxID = (int)_maxID.FirstOrDefault().ID;

您可以使它更简单,只需使用该函数

int  maxID = Convert.ToInt32(_maxID.FirstOrDefault().ID);
//or
int? maxID = _maxID.FirstOrDefault().ID as int;
//or
int maxID = (int)_maxID.FirstOrDefault().ID;

maxID赋值语句中的键入错误(“Id”而不是“Id”)。试试这个:int maxID=\u maxID.FirstOrDefault().Id;maxID赋值语句中的键入错误(“Id”而不是“Id”)。试试这个:int maxID=\u maxID.FirstOrDefault().Id;