所以我有两个实体(具有多对多关系),它们是:
public class Tag
{
public int ID { get; set; }
public string Name { get; set; }
public virtual ICollection<Video> Videos { get; set; }
}
public class Video
{
[Key]
public int ID { get; set; }
public string EmbedSource { get; set; }
public virtual ICollection<Tag> Tags { get; set; }
}
有两个存储库:
public interface ITagsRepository
{
IQueryable<Tag> GetTags { get; }
}
public interface IVideosRepository
{
IQueryable<Video> GetVideos { get; }
}
现在我试图在我的ninject控制器中模拟它们,不幸的是,作为一个初学者,我遇到了一个问题,因为我的每个实体都需要另一个,我无法模拟它们,具有讽刺意味的是,我似乎陷入了无限循环:
private void AddBindings()
{
Mock<IVideosRepository> mock = new Mock<IVideosRepository>();
mock.Setup(m => m.GetVideos).Returns(new List<Video>
{
new Video {EmbedSource = "embedcode", ID = 1, Tags = new Tag {ID = 0, Name = "testtestest", Video = new Video ... etc etc}
})
}
我正在寻找一种更快/更清洁的方法来实现这一目标。