Как я могу получить Id обратно к объекту, когда я использую функцию AddMany с SubSonic SimpleRepository.Все мои объекты по-прежнему получают Id = 0 после его использования.
SimpleRepository repository = new SimpleRepository(ConnectionStringName);
repository.AddMany<T>(insertList);
При просмотре источника я вижу, что:
public void AddMany<T>(IEnumerable<T> items) where T : class, new()
{
if (_options.Contains(SimpleRepositoryOptions.RunMigrations))
{
Migrate<T>();
}
BatchQuery batch = new BatchQuery(_provider);
foreach(var item in items)
{
batch.QueueForTransaction(item.ToInsertQuery(_provider));
}
batch.ExecuteTransaction();
}
Как насчет выбора пакета для последней вставленнойИдентификатор в этой таблице здесь?Может ли это когда-нибудь вернуть неправильный идентификатор?Я напишу некоторый код и вернусь:)
Актуальная проблема
Проблема в том, что мне нравится использовать вставленные идентификаторы в другой строке (другой таблице) как fk, возможноспособ использовать пакетную вставку для добавления двух разных типов строк и установки для столбца fk последнего вставленного идентификатора другой строки.Там немного сложно, но я думаю, вы поняли:
Insert User
Insert UserAccount -> Set UserAccount.fk_UserId to latest id inserted in User
Insert User
Insert UserAccount -> Set UserAccount.fk_UserId to latest id inserted in User
И так далее, как партия ... это возможно?Это может быть целых 10 000 строк или более 2.