如何:添加 Creator 方法
Creator 方法向实体的数据源添加新数据。 当用户单击基于模型的列表功能区上的**“新建项”**按钮时,业务数据连接 (BDC) 服务将调用此方法。 有关更多信息,请参见设计业务数据连接模型。
添加 Creator 方法
在 BDC 设计器中选择一个实体。
在**“视图”菜单上单击“其他窗口”,然后单击“BDC 方法详细信息”**。
将打开**“BDC 方法详细信息”窗口。 有关“BDC 方法详细信息”**窗口的更多信息,请参见 BDC 模型设计工具概述。
在**“BDC 方法详细信息”窗口的“添加方法”下拉列表中,选择“创建 Creator 方法”**。
Visual Studio 将以下元素添加到模型中。 这些元素将显示在**“BDC 方法详细信息”**窗口中。
一个名为**“Create”**的方法。
该方法的输入参数。
参数的类型描述符。
该方法的一个方法实例。
有关更多信息,请参见设计业务数据连接模型。
在**“解决方案资源管理器”中,右击为该实体生成的服务代码文件,然后单击“查看代码”**。
在代码编辑器中打开实体服务代码文件。 有关实体服务代码文件的更多信息,请参见创建业务数据连接模型。
在 Creator 方法中添加用于向数据源添加数据的代码。 下面的示例向 SQL Server 的 AdventureWorks 示例数据库添加新的联系人。
提示
用您的服务器名称替换 ServerName 字段的值。
Public Shared Function Create(ByVal newContact As Contact) As Contact Const ServerName As String = "MySQLServerName" Dim dataContext As AdventureWorksDataContext = _ New AdventureWorksDataContext("Data Source=" & ServerName & _ ";Initial Catalog=AdventureWorks;Integrated Security=True") Dim TempContact As New Contact() With TempContact .FirstName = newContact.FirstName .LastName = newContact.LastName .EmailAddress = newContact.EmailAddress .Phone = newContact.Phone .EmailPromotion = newContact.EmailPromotion .NameStyle = newContact.NameStyle .PasswordHash = newContact.PasswordHash .PasswordSalt = newContact.PasswordSalt .ModifiedDate = DateTime.Now .rowguid = Guid.NewGuid() End With dataContext.Contacts.InsertOnSubmit(TempContact) dataContext.SubmitChanges() Return TempContact End Function
public static Contact Create(Contact newContact) { const string ServerName = "MySQLServerName"; AdventureWorksDataContext dataContext = new AdventureWorksDataContext ("Data Source=" + ServerName + ";" + "Initial Catalog=AdventureWorks;Integrated Security=True"); Contact contact = new Contact(); contact.FirstName = newContact.FirstName; contact.LastName = newContact.LastName; contact.EmailAddress = newContact.EmailAddress; contact.Phone = newContact.Phone; contact.EmailPromotion = newContact.EmailPromotion; contact.NameStyle = newContact.NameStyle; contact.PasswordHash = newContact.PasswordHash; contact.PasswordSalt = newContact.PasswordSalt; contact.ModifiedDate = DateTime.Now; contact.rowguid = Guid.NewGuid(); dataContext.Contacts.InsertOnSubmit(contact); dataContext.SubmitChanges(); return contact; }