我使用C#和LINQ來提取/推送SQL Azure中的數據。基本情景是,我們有一個Customer表,其中包含所有客戶(PK = CompanyID)和支持表(如LaborTypes和Materials(FK CompanyID到客戶表))。從一個SQL Azure表中提取數據,添加一列,然後填充不同的表格
當新客戶註冊時,Customers表中會創建一條新記錄。一旦完成,我想從一個單獨的表中加載一組默認材質和勞動類型。這很簡單,如果我只是想將數據直接從一個表複製到另一個表,但爲了填充新客戶的現有表,我需要獲取種子數據(例如laborType,laborDescription),爲每行添加CompanyID的種子數據,然後插入到現有的表中。
用SQL Azure使用C#和LINQ來完成此操作的最佳方法是什麼?
用於LaborTypes的用戶輸入的直接插入的示例在下文中用於上下文引用。
using (var context = GetContext(memCustomer))
{
var u = GetUserByUsername(context, memUser);
var l = (from lbr in context.LaborTypes
where lbr.LaborType1.ToLower() == laborType
&& lbr.Company == u.Company
select lbr).FirstOrDefault();
if (l == null)
{
l = new AccountDB.LaborType();
l.Company = u.Company;
l.Description = laborDescription;
l.LaborType1 = laborType;
l.FlatRate = flatRate;
l.HourlyRate = hourlyRate;
context.LaborTypes.InsertOnSubmit(l);
context.SubmitChanges();
}
result = true;
}
您正在嘗試: 在表A中創建記錄;那些記錄的種子數據存儲在表B和C中?或者你是否從用戶那裏獲取所有這些不同的信息? –
沒有用戶在這部分的輸入,所以你的方法在第一個問題是正確的。我想使用表B中的種子數據(例如SeedLaborTypes)和添加CompanyID在表A中創建行(例如LaborTypes)。 – NCTechFarmer
下面的答案是否錯過了商標? –