C# 实体框架-未映射的实体。可能的
是否可以创建未映射到数据库中表的实体 我创建了一个具有5个属性(姓名、电话、电子邮件、日期、评论)的实体(A)。我的数据库中没有名为A的表 我使用linq查询了模型中的其他表,并将结果转换为类型(a)的列表C# 实体框架-未映射的实体。可能的,c#,entity-framework,C#,Entity Framework,是否可以创建未映射到数据库中表的实体 我创建了一个具有5个属性(姓名、电话、电子邮件、日期、评论)的实体(A)。我的数据库中没有名为A的表 我使用linq查询了模型中的其他表,并将结果转换为类型(a)的列表 IList results=new IList(); 结果=(从B中的m开始) 其中m.Id
IList results=new IList();
结果=(从B中的m开始)
其中m.Id<10
选择new{m.name,m.email,m.date,m.phone,m.comment}).ToList();
返回视图(结果)
我这样做是为了防止将匿名类型传递给我的视图。首先,因为您正在为变量
结果
分配一些内容,所以不需要创建新列表。以下工作将起作用:
IList<A> results; // No value yet.
然而,你的假设在这里是错误的。您说:我将结果转换为类型a
的列表,以防止将匿名类型传递给我的视图,但您对匿名类型的看法是错误的
以下内容不会创建匿名类型。它将创建一个非常不一致的IEnumerable
或IQueryable
:
但是,以下操作将创建匿名类型:
var results = from m in B
select new {
Name = m.name,
Email = m.email,
Date = m.date,
Phone = m.phone,
Comment = m.comment
};
我想你可以用automapper来做这个。未映射的实体,有什么好处?为什么不创建一个类呢?一个类?今天是星期五,我的大脑快要崩溃了。但是为什么一个未映射的实体不能工作呢?有人告诉我,我可以创建一个复杂类型,而不是创建一个实体。我的观点是,如果它没有映射到任何东西,为什么需要实体框架呢?看起来你可以用这5个属性创建一个类。现在是星期一,也许会有意义!我认为您可能需要更新和重新组织您的问题,并提供更多关于您试图实现的目标的详细信息。对于映射的其他5个表,我需要EF。
results = (from m in B
where m.Id < 10
select new A(m.name, m.email, m.date, m.phone, m.comment))
.ToList();
return View(results)
var results = from m in B
select new A();
var results = from m in B
select new {
Name = m.name,
Email = m.email,
Date = m.date,
Phone = m.phone,
Comment = m.comment
};