如果有更好的方法可以实现以下目标,我有点好奇。基本上,我有两节课。 ClassA和ClassB。 ClassA具有ClassB的外键。我想从ClassB中确定ClassA中引用ClassB的所有元素。希望这个小例子有助于更有意义:
值得注意的是,我试图模仿ASP.NET MVC 4的书,就“约定”而言:
(在实体文件夹中)
public class ClassA
{
[Key]
public int Id {get; set;}
public ClassB MyClassB {get;set;}
}
public class ClassB
{
[Key]
public int Id {get; set;}
public String title {get; set;}
virtual public IEnumerable<ClassA> ClassAs(IClassA a)
{ return a.ClassA.Where(....).AsEnumerable(); }
}
(在抽象文件夹中)
public interface IClassA
{
IQueryable<ClassA> ClassA { get; set; }
}
public interface IClassB
{
IQueryable<ClassB> ClassB { get; set; }
}
我看到的问题是需要传递我拥有的对象的实例(在这种情况下是ClassA的实例到方法ClassAs。
进一步考虑这个问题,可能还可以在界面中创建定义,然后在具体文件夹中声明它。什么是“最好”的方式呢?了解EF在连接方面的工作原理仍然有点神秘,任何有趣的资源也会受到赞赏。
答案 0 :(得分:0)
如果我理解正确,你不能只在List<ClassA>
中ClassB
:
public virtual List<ClassA> ClassAs { get; set; }
这将由EF填充,并包含ClassA
中引用ClassB
的所有MyClassB
。