Есть ли способ контролировать имена свойств, сгенерированных конструктором linq-to-sql? - PullRequest
0 голосов
/ 24 июня 2011

Скажем, у вас есть схема, которая выглядит примерно так

Foo
    FooId

Bar
    BarId
    SomeFooId // Foreign key to Foo.FooId
    AnotherFooId // Foreign key to Foo.FooId

Я хотел бы иметь возможность сделать что-то вроде этого:

Bar bar = ...
DoSomethingWith(bar.SomeFoo);
DoSomethingElseWith(bar.AnotherFoo);

Однако вместо генерации свойств SomeFoo и AnotherFoo конструктор linq-to-sql генерирует Foo и Foo1. Не очевидно, какие из Foo и Foo1 относятся к SomeFoo, а какие относятся к AnotherFoo. Можно ли вручную указать имя для этих свойств, чтобы я мог ссылаться на них как SomeFoo и AnotherFoo?

Я использую конструктор dbml в Visual Studio 2010, и у меня была такая же проблема с Visual Studio 2008.

1 Ответ

2 голосов
/ 24 июня 2011

Вы можете редактировать имена в конструкторе Linq to SQL.Просто нажмите на поле, которое вы хотите переименовать, нажмите F4 и измените свойство Name.

В качестве альтернативы, вы можете нажать на поле, которое вы хотите переименовать, и просто начать печататьновое имя.


Таким образом, вы хотите изменить имена «вспомогательных свойств», которые создаются для внешних ключей.

РЕДАКТИРОВАТЬ :

Я понял это.В конструкторе LINQ to SQL щелкните ассоциацию (линию, соединяющую две связанные таблицы), разверните дерево «Родительское свойство» и измените свойство Name.Это повлияет на сгенерированное имя «вспомогательного свойства».

...