嗨我有三个表的实体,这些类是
public partial class pro_type
{
public pro_type()
{
this.pro = new HashSet<pro>();
}
public int pro_id { get; set; }
public string description { get; set; }
public virtual ICollection<pro> pro { get; set; }
}
public partial class pro
{
public pro()
{
this.project_discussion = new HashSet<p_dis>();
}
public int pro_id { get; set; }
public string name { get; set; }
public System.DateTime ts { get; set; }
public int p_type_id { get; set; }
public virtual ICollection<p_disc> p_disc { get; set; }
public virtual ICollection<p_type> p_type { get; set; }
}
}
和
public partial class p_dis
{
public int p_disc_id { get; set; }
public int pro_id { get; set; }
public string message { get; set; }
public virtual pro pro { get; set; }
}
}
我有以下linq语句从这三个类中创建一个对象。
var pView= (from c in db.p_disc
select new pView
{
name=c.pro.name,
pro_id=c.pro.pro_id,
message=c.message,
pro_type=typeof(ICollection<c.pro.p_type>)
}).Take(7);
return pView;
我一直在pro_type = typeof(ICollection)上说intellisense说.. “无法隐式转换类型system.Type到system.collections.generic.icollection”
请告诉我如何修复它。谢谢
答案 0 :(得分:0)
错误非常明显。
typeof(ICollection)不会创建ICollection&lt;&gt; - 它为您提供了一个System.Type对象,其中包含您的类型的详细信息。
System.Type类的MSDN:
http://msdn.microsoft.com/en-us/library/system.type(v=vs.110).aspx