C# LINQ:如何将对象作为新记录提交到数据库
本文关键字:新记录 提交 数据库 对象 LINQ | 更新日期: 2023-09-27 17:56:31
我有以下对象:
namespace LearnLINQ1
{
[Table(Name="testMe")]
public class SubmitTest
{
[Column(Name="FirstName")]
public string FirstName { get; set; }
[Column(Name = "LastName")]
public string LastName { get; set; }
[Column(Name = "PhoneNumber")]
public int PhoneNumber { get; set; }
linqLayerDataContext db;
}
}
我在构造函数中使用了同样的东西:
namespace LearnLINQ1
{
[Table(Name="testMe")]
public class SubmitTest
{
[Column(Name="FirstName")]
public string FirstName { get; set; }
[Column(Name = "LastName")]
public string LastName { get; set; }
[Column(Name = "PhoneNumber")]
public int PhoneNumber { get; set; }
linqLayerDataContext db;
//constructor
public SubmitTest(string first, string last, int phone, linqLayerDataContext db)
{
this.FirstName = first;
this.LastName = last;
this.PhoneNumber = phone;
this.db = db;
}
}
}
我使用以下代码实例化对象并尝试将其作为新记录添加到数据库中:
SubmitTest test = new SubmitTest { FirstName = "Jeremy", LastName = "Stafford", PhoneNumber = 23 };
db.testMes.InsertOnSubmit(test);
但是我收到错误:
错误 1 最佳重载方法 匹配 'System.Data.Linq.Table.InsertOnSubmit(LearnLINQ1.testMe)' 有一些无效的 参数 C:''用户''杰里米''文档''视觉 演播室 2010''项目''LearnLINQ1''LearnLINQ1''Form1.cs 42 13 LearnLINQ1
错误 2 参数 1:无法转换 从"LearnLINQ1.SubmitTest"到 'LearnLINQ1.testMe' C:''Users''Jeremy''Documents''Visual 演播室 2010''Projects''LearnLINQ1''LearnLINQ1''Form1.cs 42 39 LearnLINQ1
我不确定类定义中是否缺少某些内容...这个概念有点新。有人可以指出我正确的方向吗?
======================================更新:好的,所以我做了一些更改
客户类别:
namespace LearnLINQ1
{
public class Customer
{
[Table(Name = "testMe")]
public class SubmitTest
{
[Column(Name = "FirstName")]
public string FirstName { get; set; }
[Column(Name = "LastName")]
public string LastName { get; set; }
[Column(Name = "PhoneNumber")]
public int PhoneNumber { get; set; }
}
}
}
和测试代码:
namespace LearnLINQ1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
linqTestDataContext db = new linqTestDataContext();
Table<Customer> Customers = db.GetTable<Customer>();
var cus = new Customer { FirstName = "Jeremy", Lastname = "Stafford", Age = 31 };
db.Customers.InsertOnSubmit(cus);
db.SubmitChanges();
}
}
}
现在问题出在客户类上。 它给出以下错误:
错误 1 缺少部分修饰符 类型声明 "学习LINQ1.客户";另一个部分 此类型的声明 存在 C:''用户''杰里米''文档''视觉 演播室 2010''Projects''LearnLINQ1''LearnLINQ1''Customer.cs 11 18 LearnLINQ1
LearnLINQ1.testMe
是您需要创建的对象,而不是 LearnLINQ1.SubmitTest