[LINQ][1] に関するビデオを見ているときに問題が発生しました。このビデオでは、Mike がデータベース名にいくつかのカスタム属性を使用していますが、それは私にはうまくいきません。
私のコード(正常に動作します):
class MyContext : DataContext
{
public MyContext(string conStr) : base(conStr)
{
}
}
class Program
{
static void Main(string[] args)
{
MyContext ctx = new MyContext("server=.;database=AdventureWorks;Integrated Security=SSPI");
Console.WriteLine(ctx.Connection.ConnectionString);
ctx.ExecuteCommand("insert into _table (a, b) select {0}, {1}", "5", "B");
Console.WriteLine("That's it!");
Console.ReadLine();
}
}
どのようになりたいか (オブジェクト ctx の作成時に欠落しているデータベース パラメーターと、クラス MyContext の前のデータベース名の追加のカスタム属性に注意してください):
[Database(Name="AdventureWorks")]
class MyContext : DataContext
{
public MyContext(string conStr) : base(conStr)
{
}
}
class Program
{
static void Main(string[] args)
{
MyContext ctx = new MyContext("server=.;Integrated Security=SSPI");
Console.WriteLine(ctx.Connection.ConnectionString);
ctx.ExecuteCommand("insert into _table (a, b) select {0}, {1}", "5", "B");
Console.WriteLine("That's it!");
Console.ReadLine();
}
}
これは、データベース名を定義しないのと同じように、「無効なオブジェクト名 _table」という例外をスローします。何か不足していますか?カスタム属性を使用するのは初めてです...