Products p = new Products();
p.ProductName = "New Product";
p.UnitPrice = 100;
// ... 設定其他屬性
int newId = DbSession.Default.Insert(p);
// newId 為自增主鍵值(Identity/Sequence)
// p.ProductID 同步被設定為 newId
ASPX 命名慣例:txt_屬性名(如 txt_ProductName、txt_UnitPrice)。
protected void Button1_Click(object sender, EventArgs e) {
Products p = new Products();
// p.Attach(); // 可選:開啟後僅插入有賦值的欄位
EntityUtils.UpdateModel(p, "txt_"); // 一行讀取所有 txt_* 控制項
int returnValue = DbSession.Default.Insert(p);
gridView.DataSource = DbSession.Default.From()
.Where(Products._.ProductID == returnValue).ToList();
gridView.DataBind();
}
<form id="form1" runat="server">
_ProductName<asp:TextBox ID="txt_ProductName" runat="server" /><br />
_SupplierID<asp:TextBox ID="txt_SupplierID" runat="server" /><br />
_CategoryID<asp:TextBox ID="txt_CategoryID" runat="server" /><br />
_QuantityPerUnit<asp:TextBox ID="txt_QuantityPerUnit" runat="server" /><br />
_UnitPrice<asp:TextBox ID="txt_UnitPrice" runat="server" /><br />
_UnitsInStock<asp:TextBox ID="txt_UnitsInStock" runat="server" /><br />
_UnitsOnOrder<asp:TextBox ID="txt_UnitsOnOrder" runat="server" /><br />
_ReorderLevel<asp:TextBox ID="txt_ReorderLevel" runat="server" /><br />
_Discontinued<asp:CheckBox ID="txt_Discontinued" runat="server" /><br />
<asp:Button ID="Button1" Text="提交Insert" OnClick="Button1_Click" />
<asp:GridView ID="gridView" runat="server" />
</form>
int/long/Guid 等),實體主鍵屬性同步更新。DbBatch(第 18 篇)。Attach():所有屬性(含 null/預設值)皆包含在 INSERT 陳述句。Attach():僅包含**實際被賦值**的屬性,資料庫預設值生效,適合「部分欄位由資料庫預設值填充」場景。Insert + EntityUtils.UpdateModel 讓 ASP.NET WebForms 新增頁面開發極度精簡,零手工參數綁定、自動取回自增鍵、型別安全全程保障。