use*_*060 3 c# sql datatable serialization class
我知道有一种比我现在的方式更清洁的方法。基本上,我从我的 sql 数据库中检索数据表。我现在想将这些信息放在一个全局可访问的类中。我不想像这样遍历每一列:txtFirstName.Text = dt[0].ToString()。我想创建一个“用户”类,并分配 txtFirstName.Text = User.FirstName。但是,我不想手动将 dt[0] 映射到 FirstName,将 dt[1] 映射到 LastName...我希望自动创建对象!或者,至少一旦创建了类,并且元素与 dt 列的名称匹配,映射就会自动发生。
谢谢!
为什么不使用 Linq to SQL?我很喜欢。
绘制表格后,您可以在这种情况下为单个表格创建单独的部分 .cs 类文件。不要编辑生成的代码 :) 如果您将 dbml 文件保存在“App_Code/Linq_customer/”文件夹中并映射了一个名为“Customer”的表,则您的类可能如下所示(未经测试的代码):
using System.Linq;
namespace Linq_customer
{
public partial class Customer
{
public static Customer GetCustomerByID(int customerID, CustomerDataContext dc)
{
return (from s0 in dc.Customers
where s0.customerID== customerID
select s0).firstOrDefault();
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后在您的页面或其他课程中执行以下操作:
using Linq_customer;
...
CustomerDataContext dc = new CustomerDataContext() //(Generated data context)
Customer myCustomerDude = Customer.GetCustomerByID(5, dc);
if(myCustomerDude == null) return error..
txtFirstName.Text = myCustomerDude.firstName;
Run Code Online (Sandbox Code Playgroud)
(可选)如果您想创建一个新用户:
myCustomerDude = new Customer();
Run Code Online (Sandbox Code Playgroud)
保存任何新信息也很容易:
...
myCustomerDude.City = txtCity.Text;
myCustomerDude.favoriteSlogan = "I believe in Science";
dc.Customers.insertOnSubmit(myCustomerDude); //If not already existing, if is already in table then omit this line.
dc.submitChanges();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5561 次 |
| 最近记录: |