我目前使用以下方法將數據保存在數據庫中的多個表中,我從Excel文件中提取數據。使用實體框架爲多個表保存數據的更好方法
public class Saver
{
public static int SaveCensusBatch(string key, ICollection<tbl_Life_Census> collection)
{
using (var db = new AuraEntities())
{
var entry = new tbl_Life_Master() { UUID = key, tbl_Life_Census = collection };
db.tbl_Life_Master.Add(entry);
db.SaveChanges();
return 1;
}
}
public static int SaveLifeData(string key2, ICollection<tbl_Life_General_Info> collection)
{
using (var db = new AuraEntities())
{
var entry = new tbl_Life_Master() { UUID = key2, tbl_Life_General_Info = collection };
db.tbl_Life_Master.Add(entry);
db.SaveChanges();
return 1;
}
}
public static T GetDBRecordByPK<T>(string key) where T : class
{
using (var db = new AuraEntities())
{
var t = db.Set<T>().Find(key);
return t;
}
}
}
以下是對主調用此代碼:
foreach (var r in results)
{
r.UUID = key.ToString();
}
Saver.SaveCensusBatch(key.ToString(), results);
Saver.SaveLifeData(key.ToString(), results3);
var master = Saver.GetDBRecordByPK<tbl_Life_Master>(key.ToString());
「使用塊」和一個功能而不是隻實現幾個功能請建議我怎麼可以在一個做的一切。這是因爲我必須同時向20-30個表中插入數據。
非常不清楚。什麼是「結果」,它來自何處?你爲什麼設置'r.UUID'?什麼是'results3',它來自哪裏?你爲什麼首先要做這個'Saver'類?爲什麼不直接在最後的代碼片段中保存所有內容? –
謝謝我也一樣 –