私は、次のオブジェクトがあります。私は、コンストラクタと同じものを使用しましたC#のLINQ:新規レコードとしてデータベースにオブジェクトを提出する方法
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);
しかし、イムERRを取得または:
Error 1 The best overloaded method match for 'System.Data.Linq.Table.InsertOnSubmit(LearnLINQ1.testMe)' has some invalid arguments C:\Users\Jeremy\Documents\Visual Studio 2010\Projects\LearnLINQ1\LearnLINQ1\Form1.cs 42 13 LearnLINQ1
Error 2 Argument 1: cannot convert from 'LearnLINQ1.SubmitTest' to 'LearnLINQ1.testMe' C:\Users\Jeremy\Documents\Visual Studio 2010\Projects\LearnLINQ1\LearnLINQ1\Form1.cs 42 39 LearnLINQ1
クラス定義に欠けているものがあるかどうかはわかりません。ちょっと考え方が新しくなりました。誰かが私を正しい方向に向けることができますか?
================================ UPDATE:[OK]をので、私はいくつかの変更
作ら顧客クラス:
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();
}
}
}
今の問題は、顧客のクラスです。それは次のエラーを与えている:
Error 1 Missing partial modifier on declaration of type 'LearnLINQ1.Customer'; another partial declaration of this type exists C:\Users\Jeremy\Documents\Visual Studio 2010\Projects\LearnLINQ1\LearnLINQ1\Customer.cs 11 18 LearnLINQ1
データコンテキストで別のコレクションがあるはずです - 'SubmitTests'のようなものと呼ばれるもの。基本的に、 'SubmitTest'オブジェクトを' TestMe'オブジェクトのコレクションに格納しようとしています。ちょうどうまくいきません... –
あなたが提供したコンストラクタを使うこともできます:SubmitTest test = new SubmitTest( "Jeremy "、" Stafford "、23、db); – Francisco
nm、それを落として再起動します。私はこれらのオブジェクトがデータのコンテキストによって推測されたことに気付かなかったという事実によっていくつかの矛盾が生じました。 – Sinaesthetic