我正在尝试运行以下简单查询:

var appt = (from a in context.AppointmentSet
           select new Appointment{ ModifiedOn = a.ModifiedOn}).First();


但是由于ModifiedOn是只读的,所以我遇到了编译器异常。


我可以只返回a,但是随后将返回Appointment实体的所有属性,而不仅仅是ModifiedOn
我可以返回new { a.ModifiedOn },但是appt将是AnonymousType而不是Appointment


建议使用什么方法来完成这项工作?

请注意,这是一个示例,假设我从约会中返回的不仅仅是单个属性,然后还有某种条件

最佳答案

我总是这样:

var appt = (from a in context.AppointmentSet
            select new Appointment {
                Attributes =
                {
                    { "modifiedon", a.ModifiedOn },
                    { "createdon", a.CreatedOn },
                    { "createdby", a.CreatedBy }
                }
            })
            .First();


它不需要任何额外的编码,我真的很惊讶没有人在这里发布它。

关于c# - 如何使用LINQ CRM填充实体只读字段(ModifiedOn,Createdby等)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27623542/

10-16 09:02