Почему этот код не работает в Microsoft Ria? - PullRequest
1 голос
/ 08 февраля 2011

ссылка

http://msdn.microsoft.com/en-us/library/ee796239%28v=vs.91%29.aspx#Y3078

код

return this.ObjectContext.SalesOrderHeaders.OrderBy(e=>e.SalesOrderID);

примечание

  • выполнено и проверено все, что сделано до сих пор, соответствуетк учебнику
  • моя таблица называется SERVER,

, поэтому что-то вроде следующего должно работать,

return this.ObjectContext.SERVERs.OrderBy(e=>e.username);

prob

VisualStudio 2010 говорит, что нет «е».

РЕДАКТИРОВАТЬ ОШИБКИ-

Error   13  Cannot convert lambda expression to type 'string' because it is not a delegate type D:\DOCUMENTSS\Visual Studio 2010\Projects\ExampleBusinessApplication\ExampleBusinessApplication.Web\DomainService1.cs   35  55  ExampleBusinessApplication.Web


Error   14  A local variable named 'e' cannot be declared in this scope because it would give a different meaning to 'e', which is already used in a 'parent or current' scope to denote something else D:\DOCUMENTSS\Visual Studio 2010\Projects\ExampleBusinessApplication\ExampleBusinessApplication.Web\DomainService1.cs   35  55  ExampleBusinessApplication.Web

1 Ответ

1 голос
/ 08 февраля 2011

Сообщение об ошибке выглядит как , говорящее вам, что e уже определено как что-то (предположительно строка) в другом месте области действия, содержащей ваш оператор return.Не видя ваш код, я могу только предположить, что у вас есть что-то вроде этого:

method()
{
  string e = "abcd";

  return this.ObjectContext.SERVERs.OrderBy(e=>e.username);
}

Это не сработает, потому что символ, который вы пытаетесь использовать в качестве аргумента лямбда-выражения уже объявлено .

Если вы не понимаете использование синтаксиса => для объявления делегатов, вы должны сами это выяснить.:) Вот учебник , например.

...