实体框架4.0不允许我使用LINQ到实体

时间:2011-03-04 14:17:24

标签: c# c#-4.0 entity-framework-4

也许我有点过度工作......我迷失在一个项目中,我使用EF4作为数据库的东西。

因此,它确实可以很好地检索实体的完整列表。 但是当我尝试做一些过滤时,我不明白......

我有以下代码,我遇到了大麻烦

public class InfoViewModel
{
    private TrackerEntities _context;

    public InfoViewModel (int ticketID)
    {
        var ct = new TrackerEntities();
        var res = from t in ct.Tickets
                  where t.TicketID    // VS2010 can't evaluate the property 'TicketID'
                  select t;
 }
}

我不明白为什么t.TicketID会把错误信息抛给我红色波浪线 “无法解析符号'TicketID'”

符号在EDMX文件中声明,带有公共getter和setter ......

事实上,我的班级看起来并不知道该实体。

为什么?

TIA DeepCore

2 个答案:

答案 0 :(得分:4)

1)你应该将实体的TicketID与所需的匹配进行比较,并且(推荐)你应该将上下文实例包装在using statement(它是IDisposable)中:

private TrackerEntities _context;

public InfoViewModel(int ticketID)
{
var ct = new TrackerEntities();
var res = from t in ct.Tickets
where
t.TicketID == ticketID
select t;
}

2)尝试刷新模型;转到EDM设计器,右键单击曲面并选择“从数据库更新模型”,可能模式中存在错误。

3)确保TicketID属性与EDM中的拼写和外壳相同。

4)确保TicketIDint 将其与另一个int进行比较,如上面更新的代码段所示。

答案 1 :(得分:0)

...卫生署

我感觉真的很蠢......我发现了我的错误!

不知何故,以下使用声明丢失了:o(

using System.Linq

我想,我要请假期。

感谢大家花时间帮助我!

DeepCore