C# 使用实体框架在类之间传递查询数据

C# 使用实体框架在类之间传递查询数据,c#,.net,entity-framework,C#,.net,Entity Framework,我使用的是Visual Studio 2012 C,我正在尝试在类之间传递一些数据。基本上,我有两门课。一个类用于查询数据,另一个类用于仅在UI中显示数据 我猜我需要把它放在某种数据容器中并传递它。然而,我目前是一名学生,不知道最好的方法是什么 public List<string> GetDatabyID(int ID) { var context = new Site.EFModel.SiteDBEntities(); var query = context.db

我使用的是Visual Studio 2012 C,我正在尝试在类之间传递一些数据。基本上,我有两门课。一个类用于查询数据,另一个类用于仅在UI中显示数据

我猜我需要把它放在某种数据容器中并传递它。然而,我目前是一名学生,不知道最好的方法是什么

public List<string> GetDatabyID(int ID)
{
    var context = new Site.EFModel.SiteDBEntities();
    var query = context.db.Where(x => x.ID == ID).Select(x => new {x.ID, x.Name});
    List<string> dataContainer = query.ToList();

    return dataContainer;
}
在UI中,我希望将此数据映射到GridView以输出它。我的代码显然是错的。当dataContainer将包含int和string时,我显然不能将其作为列表返回。有人有什么想法吗?谢谢。您正在根据数据库调用的结果创建一个匿名对象。Linq方法选择:

将结果投影到您选择的新对象中,在本例中为匿名对象。这应该设置为创建并返回一个EF实体列表

var query = context.db.Where(x => x.ID == ID).Select(
    x => new MyEntity {ID = x.ID, Name = x.Name});
List<MyEntity> dataContainer = query.ToList();
您正在根据数据库调用的结果创建匿名对象。Linq方法选择:

将结果投影到您选择的新对象中,在本例中为匿名对象。这应该设置为创建并返回一个EF实体列表

var query = context.db.Where(x => x.ID == ID).Select(
    x => new MyEntity {ID = x.ID, Name = x.Name});
List<MyEntity> dataContainer = query.ToList();

如果您使用x.id和x.name,为什么不创建一个包含x.id key和x.name value的字典,或者将其替换为包含变量id和name的类?如果您使用x.id和x.name,为什么不创建一个包含x.id key和x.name value的字典,或者将其替换为包含变量id和name的类?谢谢。我今天早上才把一切都准备好。这可能是个简单的问题,但我学到了很多。非常感谢。太好了,谢谢。我今天早上才把一切都准备好。这可能是个简单的问题,但我学到了很多。非常感谢。