我正在观看有关 [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”,就像我不会定义任何数据库名称一样。我错过了什么吗?这是我第一次使用自定义属性,...