ASP C#中的虚拟公共方法

本文关键字:方法 虚拟 ASP | 更新日期: 2023-09-27 18:24:23

我有点好奇是否有更好的方法来完成以下任务。基本上,我有两节课。A类和B类。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在加入方面的运作方式仍然有点神秘,任何有趣的资源都将不胜感激。

ASP C#中的虚拟公共方法

如果我理解正确,你就不能在ClassB:中制作一个List<ClassA>

public virtual List<ClassA> ClassAs { get; set; }

这将由EF填充,并且将包含在MyClassB中具有对ClassB的引用的所有ClassA