【发布时间】:2018-11-30 13:28:57
【问题描述】:
我正在使用带有 C# 的实体框架。我的数据库中有一个 Student 表,它有 30 列。而且我只想获取 DTO 类中的某些表列而不写属性名称,如下所示。我怎样才能做到这一点?
我的 DTO 课程:
public class StudentDTO()
{
public long Name{ get; set; }
public long Surname{ get; set; }
public DateTime BirthDate{ get; set; }
public int StudentNumber{ get; set; }
}
我正在寻找这样的东西:
context.Students.Select(p=> new StudentDTO
{
????? StudentDTO.AllProperties ?????
}).ToList();
请不要建议以下解决方案,因为这不是我想要的。
context.Students.Select(p => new
{
p.Name,
p.Surname,
p.BirthDate,
p.StudentNumber
}).ToList();
【问题讨论】:
-
您已经问过这个问题 2 次了。这是第三个...
-
没有。这与他们非常不同。 @FCin那个带有字符串属性名称的问题。但在这个问题上,我有另一堂课,我会映射。所以,不一样。我想,你看到类名就说它们是一样的。
-
Students DbSet 的类型和 StduentDTO 是不同的类型吧? linq 选择有什么问题?您可能正在寻找AutoMapper?
-
我不想在从数据库中获取数据时写入属性名称(姓名、姓氏、出生日期、学生编号)。 AutoMapper 从数据库中获取数据后同步两个类。但是,换句话说,我想在从数据库@ibubi 获取数据之前进行查询
-
@HasanOzdemir 它是事实上可能:docs.automapper.org/en/stable/Queryable-Extensions.html
标签: c# asp.net asp.net-mvc entity-framework