2010-06-18 114 views
0
public class Service1 : IService1 
{ 
    [OperationContract] 
    public List<decmal> GetEnterCounts(DateTime StartTime, DateTime EndTime) 
    { 
     var db = new FACT_ENTER_EXIT(); 
     return (from e in **db.ENTER_CNT** where StartTime < db.DATE_ID && db.DATE_ID > EndTime select e).ToList(); 
    } 
} 

好了,我有一个包含场ENTER_CNT(可为空=假,类型=十进制),我想返回一个列表LINQ到SQL查询错误

VS2010吐出以下错误该数据库FACT_ENTER_EXIT 'db.ENTER_CNT':

错误1无法找到源类型'decimal'的查询模式的实现。 '哪里找不到'。

我一定错过了一些东西,有人可以指出我要去哪里错了吗?

在此先感谢,汤姆

+0

你在数据库级别定义的字段?然后你试图从该字段中选择多个值?有些东西似乎不对。 – ErikHeemskerk 2010-06-18 08:54:39

回答

2

你想从选择,而不是从,然后从列中选择。

尝试:

from e in db.MyTable 
where StartTime < e.DATE_ID && e.DATE_ID > EndTime 
select e.ENTER_CNT 

这类似于下面的SQL:

SELECT e.ENTER_CNT 
FROM MyTable e 
WHERE @StartTime < e.DATE_ID AND e.DATE_ID > @EndTime 
+0

对不起,当我说数据库FACT_ENTER_EXIT,我的意思是表.. FACT_ENTER_EXIT表来自一个数据仓库 我不想创建任何表! – 2010-06-18 09:09:30