在C#中,匿名类具有只读属性。这通常用于在LINQ选择查询中声明以从数据库获取特定值。
在我的代码中,我有以下查询。让我感到困惑的是使用new语句选择新对象的匿名类。我有一个StudentClerkshipsLogModel
模型类。当我使用模型名称时,查询结果允许编辑。
var query = (from entity in _tblStudentClerkshipsLog.GetQueryable()
where entity.StudentID == intStudentID
select new StudentClerkshipsLogModel
{
StudentClerkshipID = entity.StudentClerkshipID,
StudentID = entity.StudentID,
ClerkshipID = entity.ClerkshipID,
}).ToList();
当我在select
语句中的new
后面没有提及类型时,我无法退出,编译器会报错。匿名对象是只读的。
var query = (from entity in _tblStudentClerkshipsLog.GetQueryable()
where entity.StudentID == intStudentID
select new
{
StudentClerkshipID = entity.StudentClerkshipID,
StudentID = entity.StudentID,
ClerkshipID = entity.ClerkshipID,
}).ToList()
我的问题是LINQ如何以不同的方式绑定这两个查询。这两个查询都有动态绑定,还是第一个查询是静态的。
谢谢