我正在使用 Entity Framework 创建应用程序。我已经从 Database.here 加载了数据库模型。在 Course
表中,Department
是 Navigation Property
,DepartmentID
是外键。我创建了一个 gridview 并将其数据源设置为 Course Table,但我想查看 Department Name
而不是 department ID
。我可以使用像 Department.count
这样的导航属性,但是如何使用导航属性从部门表中获取数据(部门名称)。
谁能帮我解决这个问题
这是我的代码
var result = (from o in ctx.Courses.Include("Department")
where o.Title == TextBox2.Text
select o
).First();
//GridView4.DataSourceID="";
GridView3.DataSource=result;
GridView3.DataBind();
如果我不使用 First Function 则我无法访问 Department Name 属性,如果我使用 First() 它表示
Data source is an invalid type. It must be either an IListSource, IEnumerable, or IDataSource.
请告诉我如何解决?
最佳答案
我认为 Northwind 中的 Products 和 Categories 表与您的需要相似。我会写这样的查询:
var ctx = new NorthwindEntities();
var query = from prod in ctx.Products
where prod.ProductName.StartsWith("C")
select new { prod.ProductName, prod.UnitPrice, prod.Category.CategoryName };
关于c# - 使用导航属性获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10620500/