2010-05-19 5 views
1

Я хотел бы иметь следующие должны быть переведены на VB 2010 (с расширенными синтаксисах)Как это сделать в VB 2010 (C# для преобразования VB)


_domainContext.SubmitChanges(
    submitOperation => 
    { 
     _domainContext.Load<Customer>(
      _domainContext.GetCustomersQuery(), 
       LoadBehavior.RefreshCurrent, 
       loadOperation => 
       { 
       var results = _domainContext.Customers.Where(
         entity => !loadOperation.Entities.Contains(entity)).ToList(); 

       results.ForEach(enitity => _domainContext.Customers.Detach(entity)); 
       }, null); 
     }, null); 

мне удалось получить выше с помощью других способов (но не используя анонимные методы). Я бы хотел, чтобы все расширенные синтаксисы, доступные в VB 2010, применялись к вышеперечисленному.

Может ли кто-нибудь помочь мне в этом?

благодаря

+0

просто учиться. Оригинал находится здесь: http://weblogs.asp.net/fredriknormen/archive/2009/11/24/refresh-the-cached-entityset-after-a-submitchanges-wcf-ria-services.aspx спасибо – user203687

ответ

0
_domainContext.SubmitChanges(
    Sub(submitOperation) 
     _domainContext.Load<Customer>(
      _domainContext.GetCustomersQuery(), 
      LoadBehavior.RefreshCurrent, 
      Sub(loadOperation) 
       Dim results = _domainContnext.Customers.Where(
           Function(entity) Not loadOperation.Entities.Contains(entity)) _ 
           .ToList(); 
       results.ForEach(Sub(entity) _domainContext.Customers.Detach(entity)) 
      End Sub, 
      Nothing) 
    End Sub, Nothing) 

я, очевидно, не мог положить, что в компилятор, но это должно получить вас в правильном направлении. В принципе, везде, где вы видите => в C#, вы замените на строку Sub или Function в зависимости от того, нужно ли возвращать значение. Если в C# лямбда есть фигурные скобки, вы получите многострочный суб/функцию в VB. Обратите внимание, что вы можете только сделать это в VB2010, так как VB08 не поддерживает Sub lambdas или многострочные функции lambdas.

Смежные вопросы