While migrating to 4.0 (.net, SL, Csla) and VS10, I was messing around with all parts of my code and config files. I just noticed that my connectionString no longer has the MultipleActiveResultSets=True. And yet I am not seeing any data access errors. For example the following code continues works fine.
using (var ctx = ConnectionManager<SqlConnection>.GetManager("MyConnectionString"))
{
using (var cm = ctx.Connection.CreateCommand())
{
cm.CommandType = CommandType.StoredProcedure;
cm.CommandText = "Parent_Select";
cm.Parameters.AddWithValue("@ParentKey", criteria.Value);
using (var dr = new SafeDataReader(cm.ExecuteReader()))
{
FromDataReader(dr);
using (BypassPropertyChecks)
{
Status = "Retrieved";
}
}
BusinessRules.CheckRules();
}
this.childList1 = ChildList1.GetChildList1(this.PrimKey);
this.childList2 = ChildList2.GetChildList2(this.PrimKey);
this.childList3 = ChildList3.GetChildList3(this.PrimKey);
}
So, Is MARS (or using a second connection string) no longer needed? (Or do I have to call Ghostbusters!!)
Jav
I wouldn't call Dan Ackroyd just yet... ![]()
MARS enables you to have multiple DataReaders open on the same database connection. This code only shows one open DataReader, so the MARS attribute doesn't matter here.
HTH
- Scott
Yeah - Now I remember.
Phew! That's a relief.
Jav
Copyright (c) Marimer LLC