Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 实体框架-选择数据_Asp.net Mvc_Linq - Fatal编程技术网

Asp.net mvc 实体框架-选择数据

Asp.net mvc 实体框架-选择数据,asp.net-mvc,linq,Asp.net Mvc,Linq,我没有可见的领土,你知道为什么吗(在我的林克) 范例 var student = (from s in ctx.Students where s.StudentName == "Student1" select s).FirstOrDefault<Student>(); var student=(来自ctx.Students中的s 其中s.StudentName==“Student1” 选择s).FirstOrDef

我没有可见的领土,你知道为什么吗(在我的林克)

范例

 var student = (from s in ctx.Students
                where s.StudentName == "Student1"
                select s).FirstOrDefault<Student>();
var student=(来自ctx.Students中的s
其中s.StudentName==“Student1”
选择s).FirstOrDefault();
数据库(表3):

林克

使用ctx的LINQ也有问题

TerritoryId

正确:

public ActionResult Index()
        {

            using (var ctx = new NORTHWNDEntities())
            {

                var Territory = (from s in ctx.Territories
                                 where s.TerritoryDescription
                                       == "Student1"
                                 select s).FirstOrDefault<Territories>();
            }

            return View();
        }
public ActionResult Index()
{
使用(var ctx=new NORTHWNDEntities())
{
var Territory=(从ctx.Territory中的s开始)
s.TerritoryDescription在哪里
==“学生1”
选择s).FirstOrDefault();
}
返回视图();
}

谢谢大家抽出时间!和帮助

检查类以查看属性是否标记为私有。

检查类以查看属性是否标记为私有。

在执行查询的上下文中是否可见ctx?

问题似乎是您没有很好地创建数据上下文(ctx)的实例,或者该变量(ctx)在该上下文中不可见。

在您执行查询的上下文中是否可见ctx?
问题似乎是您没有很好地创建数据上下文(ctx)的实例,或者可能是该上下文中的变量(ctx)不可见。

不应是:

(from s in Territories where s.TerritoryID == "Student1" select s).FirstOrDefault<Territories>();
(在s.TerritoryID==“Student1”选择s的地区中从s开始)。FirstOrDefault();
不应是:

(from s in Territories where s.TerritoryID == "Student1" select s).FirstOrDefault<Territories>();
(在s.TerritoryID==“Student1”选择s的地区中从s开始)。FirstOrDefault();

ctx
并不是在创建上下文关系图时神奇地出现的东西。要使用您的上下文,您必须像这样实例化它:

using(var ctx = new MyContext())
{
    var territory = ....
}

其中,
MyContext
应替换为上下文类的名称。

ctx
不是在创建上下文关系图时神奇出现的东西。要使用您的上下文,您必须像这样实例化它:

using(var ctx = new MyContext())
{
    var territory = ....
}


其中
MyContext
应替换为上下文类的名称。

您的意思是您的代码正在编译,但在设计中看不到
Territory
?您是否尝试刷新edmx,或者删除它并创建一个新的edmx?不应该是ctx.Territions中的s中的
?您是否在视图中返回任何内容?@Gert Arnold这不是问题。问题是林克。在我的项目中.ctx是不可见的,我从本教程一步一步地制作所有东西。我知道还有其他方法可以从表中获取数据,但这个示例非常简单,我希望使用这种方法。您是否使用var ctx=new MyContext())创建了一个类似
的变量
?您是否尝试刷新edmx,或者删除它并创建一个新的edmx?不应该是ctx.Territions中的s中的
?您是否在视图中返回任何内容?@Gert Arnold这不是问题。问题是林克。在我的项目中.ctx是不可见的,我从本教程一步一步地制作所有东西。我知道还有其他方法可以从表中获取数据,但这个示例非常简单,我想使用这种方法。是否使用var ctx=new MyContext())创建一个变量,如
?访问此表是公共的。我指的是TerritoryID本身,它可以标记为private,表可以标记为public。我编辑了我的帖子。你能看一下吗?访问此表是公共的。我指的是TerritoryID本身,它可以被标记为private,表可以被标记为public。我编辑了我的帖子,你能看一下吗?你知道我使用VS 2010 create.edmx,现在我想使用LINQ从TerrityToy获取数据,但ctx不可见。Resharper告诉我“创建局部变量ctx”我必须做什么?您可以创建局部变量,也可以在控制器级别的作用域中声明一个私有变量,然后在控制器的构造函数中初始化该变量。然后变量将在您的所有操作中可见。您知道我使用VS 2010 create.edmx,现在我想使用LINQ从TerrityToy获取数据,但ctx不可见。Resharper告诉我“创建局部变量ctx”我必须做什么?您可以创建局部变量,也可以在控制器级别的作用域中声明一个私有变量,然后在控制器的构造函数中初始化该变量。然后变量将在您的所有操作中可见。我必须添加什么,因为MyContext()或MyEntity()不可见。嗯,我不知道您的上下文类的名称。请参阅我的addition.public分部类NORTHWNDEntities:ObjectContext{}我必须添加的内容,因为MyContext()或MyEntity()不可见。我不知道您的上下文类的名称。请参见我的addition.public部分类NORTHWNDEntities:ObjectContext{}