Małgorzata B. ***
Temat: MVC, Autofac + EF
Witam,proszę Was o wskazówkę jak powinnam podejść do poniższego zagadnienia.
Z tabeli:
CREATE TABLE [dbo].[Testowa](
[id] INT PRIMARY KEY NOT NULL,
[min] [int] NOT NULL,
[max] [int] NOT NULL,
[opis] [varchar](max) NOT NULL,
[data] [datetime])
muszę pobrać dane, które opisuje klasa:
public class Range<T>
{
int Id { set; get; }
T Min { set; get; }
T Max { set; get; }
}
Na poziomie kontrolera korzystam z generycznego repozytorium i LINQ:
private readonly IGenericUnitOfWork uow;
public AdministracjaController(IGenericUnitOfWork _uow)
{
this.uow = _uow;
}
public ActionResult Ranges()
{
List<Models.Testowa> tmp = uow.Repository<Models.Testowa>().GetOverview().ToList();
var ranges = (from ranges in tmp
select new Range<int?>
{
Id= ranges.id,
Min = ranges.min,
Max = ranges.max
}).ToList();
return View(ranges);
}
Konfiguracja Autofac jak poniżej:
builder.RegisterType<MyDBEntities>().SingleInstance();
builder.RegisterType<DB.GenericData.GenericUnitOfWork>().As<DB.GenericData.IGenericUnitOfWork>();
Na poziomie widoku dane prezentowane są w postaci tabeli, którą można modyfikować.
I teraz zastanawiam się czy nie powinnam użyć transakcji do zapisywania zmodyfikowanych "wierszy"? Tylko jeśli chcę użyć transakcji to muszę ich użyć także do pobierania danych. Inaczej wyglądałaby też konfiguracja Autofac.
Byłabym wdzięczna za wskazówki, ewentualne przykłady z transakcjami korzystającymi z kontenera Autofac.