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{}