实现保存我有以下代码如何在内存中的存储库
foreach (var obj in MyList)
{
// BL
repository.Add(obj)
// BL
repository.Update(obj)
}
我有实现IRepository两班。一个类使用MsSql和一个内存。 内存中的实现使用List来存储我的数据。 如果我使用MsSql类,那么所有的数据已经存储在数据库中。 如果我使用内存中,那么我需要在foreach循环之后将存储库列表中的所有数据插入数据库。 我不确定什么是做这个OOP明智的最佳方式。
我可以将一个Save方法添加到IRepository,但这意味着MsSql类将实现一个它不需要的方法。 另一种选择是只在内存中的类添加一个方法,并做这样的事情:
IRepository rep = repository as InMemoryRepository
if (rep != null)
{
rep.Save()
}
你觉得呢?
“如果我使用内存中,那么我需要插入列表中的所有数据到数据库” - 我不明白这部分。 –
@WiktorZychla由于数据存储在内存中,而不是数据库中,因此需要手动将数据保存到数据库中。 – Measuring
为什么内存提供者需要将数据插入数据库? –