Linq Updates
Linq Updates
Summary
You can use the goodness that is the Linq syntax to update data inyour database. It's important to note that SubSonic IS NOT AN ORM - it's a query tool (subtle difference) and therefore it doesn't do object tracking. There's nothing stopping you from . This is fine and dandy if you like working that way - but we think this is a Big Lie. The web is a stateless medium - this sort of "contextual tracking" is just not the Real World and we don't drink that beer.
Setup== Make sure you setup SubSonic by adding a reference, setting up your DB connection, and then adding the templates to your project. ==Simple Updates
You can work directly against the .Set(x => x.UnitPrice
100, x => x.ProductName == "Test") .Where(x => x.ProductID
1).Execute(); This will produce this SQL statement:
UPDATE [Products] SET UnitPrice=@upUnitPrice, ProductName=@upProductName WHERE ProductID = @0
Using The Repository
Many people don't want to write this stuff by hand and would rather use objects. You can definitely do this by using our , which is generated for you if you using our default T4 templates.
=Simple Updates=
This update statement will work using our
:
var repo = new NorthwindRepository
5).SingleOrDefault(); p.UnitPrice = 1000; repo.Update(p); ===Multiple Updates=
You can use our IRepository to queue up a batch of changes (transactionally) but saving your objects to a list, then passing them to Update:
var repo = new NorthwindRepository