代码之家  ›  专栏  ›  技术社区  ›  mattmc3

在Visual Studio中处理VB.NET Linq格式?

  •  2
  • mattmc3  · 技术社区  · 14 年前


    编辑-

    我最初的问题可能没有我想要的那么清楚。这里有一个更具体的例子。以这个伪linq查询为例:

    Dim query = From a In dc.GetTable(Of DAL.GenericTableDao)()
                Select New With {
                  .ID = a.ID,
                  .SomethingElse = a.SomethingElse,
                  .MyOtherRecord = (
                      From dtl In dc.GetTable(Of DAL.DetailTableDao)()
                      Where dtl.ID2 = a.ID _
                      AndAlso dtl.Code = a.Code _
                      Select dtl.RecordName
                  ).FirstOrDefault(),
                  .LastField = a.LastField
                }
    

    所有的东西都被很好地格式化和排列,但是在visualstudio中对查询结果所做的任何更改都会破坏格式,并且只有立即按CTRL-Z键才能停止它。如果有一种标准的方式,VS希望看到多行Linq格式化,那么这很好,但是如果没有,那么VS尝试的不断重新格式化就没有意义了。我想看看我是否遗漏了一些标准,或者社区中的其他人如何有效地处理这个问题(顺便说一句-使用制表符代替空格进行缩进。不确定这是否与这个问题有关。)


    解决了。请参阅下面的答案。

    2 回复  |  直到 14 年前
        1
  •  3
  •   mattmc3    14 年前

    我解决了。我有 Smart Block 为了让visualstudio能够独立工作。感谢@rockthesixstring和@rossisdead rubber-ducking

        2
  •  1
  •   Chase Florell    14 年前

    下面是我在服务层中使用的lambda表达式

            Return _RegionRepository.GetRegions() _
                .Where(Function(r) (r.Region = region _
                                    And r.ParentID = parentid _
                                    And r.isActive)) _
                .FirstOrDefault()
    

    下面是我使用的更新方法

            Dim _user = (From u In dc.Users
                Where u.ID = user.ID
                Select u).Single
    
            With _user
                .About = user.About
                .BirthDate = user.BirthDate
                .Email = user.Email
                .isClosed = user.isClosed
                .isProfileComplete = user.isProfileComplete
                .RegionID = user.RegionID
                .ParentRegionID = user.ParentRegionID
                .Reputation = user.Reputation
                .UserName = user.UserName
                .WebSite = user.WebSite
            End With
    
            dc.SubmitChanges()
    

    基本上,我喜欢一切美好和干净的东西,每一个“想法”都有自己的路线。