我有一个疑问,我承认我是 C# 和软件架构的初学者。我正在研究 ASP.NET MVC4 + EF5,我正在尝试使用三层架构来构建我的应用程序。
在我的 BL 中,我创建了这两个视图模型:
单词
namespace BL
{
public class WordViewModel : IWord
{
[Required, ReadOnly(true)]
public int WordId { get; set; }
public string LanguageId { get; set; }
public int VocabularyId { get; set; }
public LanguageViewModel Language { get; set; }
public VocabularyViewModel Vocabulary { get; set; }
}
}
词汇
namespace BL
{
public class VocabularyViewModel : IVocabulary
{
[Required, ReadOnly(true)]
public int VocabularyId { get; set; }
public string Name { get; set; }
public List<WordViewModel> Words { get; set; }
}
}
调试时我注意到(很明显)有一种“嵌套循环”,我的意思是一个单词包含一个词汇表,其中包含一个单词列表,每个单词都包含一个词汇表,包含一个单词列表......和很快。
按照教程,在我看来我写的是正确的..但我在考虑性能和内存消耗..这是一个问题吗?(但应该是我的设计也是错误的,我希望不会)
此外,但这不是一个大问题,我正在使用AutoMapper将我的 DAL 层(实际上是 WordRepository 和 VocabularyRepository)提供的对象映射到我的视图模型。创建嵌套映射很容易,但同样,它会消耗内存吗?
谢谢..我知道我是新手,我正在努力做到最好:)