public static List<nHydrateDbObject> Load(string connectionString, string modelKey, System.Data.SqlClient.SqlTransaction transaction)
{
var retval = new List<nHydrateDbObject>();
System.Data.SqlClient.SqlConnection conn = null;
if (transaction == null)
{
conn = new System.Data.SqlClient.SqlConnection(connectionString);
conn.Open();
}
else
{
conn = transaction.Connection;
}
try
{
var command2 = new SqlCommand("select * from sys.tables where name = '__nhydrateobjects'", conn);
command2.Transaction = transaction;
var da = new SqlDataAdapter(command2);
var ds = new DataSet();
da.Fill(ds);
if (ds.Tables[0].Rows.Count > 0)
{
var command = new SqlCommand("SELECT * FROM __nhydrateobjects where [ModelKey] = '" + modelKey + "'", conn);
command.Transaction = transaction;
da = new SqlDataAdapter(command);
ds = new DataSet();
da.Fill(ds);
var t = ds.Tables[0];
foreach (DataRow row in t.Rows)
{
var newItem = new nHydrateDbObject();
newItem.rowid = (long)row["rowid"];
if (row["id"] != System.DBNull.Value)
newItem.id = (Guid)row["id"];
newItem.name = (string)row["name"];
newItem.ModelKey = (Guid)row["ModelKey"];
newItem.type = (string)row["type"];
if (row["schema"] != System.DBNull.Value)
newItem.schema = (string)row["schema"];
newItem.CreatedDate = (DateTime)row["CreatedDate"];
newItem.ModifiedDate = (DateTime)row["ModifiedDate"];
if (row["Hash"] != System.DBNull.Value)
newItem.Hash = (string)row["Hash"];
retval.Add(newItem);
}
}
}
catch (Exception ex)
{
throw;
}
finally
{
if (transaction == null && conn != null)
conn.Close();
}
return retval;
}