在下面这行代码中,我发现这个错误不能隐式地将可枚举行集合<short>转换为short:
Month = (from item in query select (short)item.Month);我想知道为什么我在查询变量中找不到distinct()或count方法。
下面是我的方法:
public bool IsEnableAccPosting(
string CompanyCode, DateTime FromDate, DateTime ToDate, out short Month)
{
try
{
o_dmDebitAccounts = new dmDebitAccounts(sysInfo);
bool IsEnable = false;
DataTable dt = o_dmDebitAccounts.GetDebitInterestAccPeriods(CompanyCode);
var query = from data in dt.AsEnumerable()
where data.Field<DateTime>("StartDate") == FromDate &&
data.Field<DateTime>("EndDate") == ToDate
select new
{
Month = Convert.ToInt16(data.Field<short>("Month")),
Year = Convert.ToInt16(data.Field<short>("Year"))
};
Month = (from item in query select (short)item.Month); //heres the error发布于 2013-03-07 04:47:50
在执行该操作的linq查询中,该字段已键入为Int16。你不需要对它进行造型。
尝试下面的代码taken from here
if (query.Any())
{
var result = query.First();
// Console.WriteLine("Results: {0}", result.Month);
Month = result.Month;
}https://stackoverflow.com/questions/15257639
复制相似问题