Я смотрю видео о [LINQ] [1] и столкнулся с проблемой. В этом видео Майк использует некоторые пользовательские атрибуты для имени базы данных, и это не работает для меня.
Мой код (который отлично работает):
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', точно так же, как я бы не определил имя базы данных. Я что-то пропустил? Я впервые использую пользовательские атрибуты, ...