したがって、ここに2つのエンティティ(多対多の関係を持つ)があります:
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; }
}
2 つのリポジトリを使用:
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}
})
}
これを達成するためのより高速でクリーンな方法を探しています。