如何使用动态关键字来处理实体框架

Ulh*_*ano 0 asp.net

我正在使用.net framework 3.5框架和用于数据库操作的实体框架.因此,要获取数据,我正在使用LINQ查询并返回列表中的结果集.例如

public class Emp
{
 public int CD{get;set;}
 public string Name{get;set;}
}


public List<Emp> GetServTypeForPromotionDue()
{
        return (from a in Context.TableName
                    select new Emp{ a.CD, a.NAME });

}
Run Code Online (Sandbox Code Playgroud)

我打算从3.5迁移到4.0.我在.net 4.0中听说过动态关键字.我可以使用'dynamic'关键字来删除Class Emp并且不创建匿名方法吗?

Jon*_*eet 5

可以使用dynamic它(例如返回List<dynamic>,并ExpandoObject在select子句中构建一个),但我不推荐它.您将失去编译时类型安全性,Intellisense等几乎没有什么好处.您认为从使用中获得dynamic什么?只需删除几行代码?

编辑:使用动态的示例:

public List<dynamic> GetServTypeForPromotionDue()
{
        return (from a in Context.TableName
                select (dynamic) (new { a.CD, a.NAME })).ToList();
}
Run Code Online (Sandbox Code Playgroud)

要么...

public List<dynamic> GetServTypeForPromotionDue()
{
        return (from a in Context.TableName
                select (dynamic) (new ExpandoObject { a.CD, a.NAME })).ToList();
}
Run Code Online (Sandbox Code Playgroud)