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

实体框架-c或vb.net

  •  11
  • Airn5475  · 技术社区  · 14 年前

    我的公司在推出.NET4时,一直在考虑使用实体框架的想法。我们目前是一家vb.net商店,但有兴趣切换到c。

    是否有支持或反对这种行动的主要论据?
    与vb.net相比,带有c_的ef在性能、编码容易性等方面有什么优势吗?

    感谢您的想法/意见!

    10 回复  |  直到 11 年前
        1
  •  7
  •   JonH    11 年前

    我总是说坚持你擅长的。如果从vb.net到c有一个很大的学习曲线,这可能是有风险的。我曾是一名vb.net程序员,但后来转到了c,我觉得这并不难。但是,如果您正在开发一些需要日常更改/修复的强大软件,您可能需要坚持自己擅长的东西(在本例中是vb.net)。

    Here is a nice comparison between both languages.

    当您为实体框架比较两种语言时,您不会发现有太大的区别。如果您更喜欢带有匹配结束子的公共子级(更复杂和详细),那么使用vb.net。如果你喜欢并且不太冗长,那么你更喜欢C。

    我不想告诉人们不要学C,因为我会很诚实,我希望很久以前我能从vb.net改成C。我喜欢这种神秘的语法,因为我有一个C/C++背景。由于一些内部应用程序的原因,我不得不和vb.net打一段时间的交道。所以这是首选项,您可能会很快在vb.net中实现所有内容。但是如果你的公司愿意让你们学习一种新的语言,投入到你的知识上,那么我就说一路去学C。

        2
  •  9
  •   Paul Creasey    14 年前

    事实上,我对vb.net有一种非理性的厌恶,如果我诚实的话,我更喜欢C语法,但是没有令人信服的理由去改变它。它们都编译成IL,具有非常细微的差异,并且都具有相同的能力。

    我可以想象,切换的最令人信服的原因可能是,与VB相比,找到和招聘高质量的C开发人员更容易。

        3
  •  5
  •   Chris Conway    14 年前

    我认为你最大的问题不是在性能或能力上的差异。我认为这将归结为文件。msdn可能会提供两种语言的功能,但是大多数的博客帖子等都是用C语言写的。这些帖子可能会提供关于最佳实践、技巧和技巧的现实指导,以及您将在开发实践中依赖的大量其他信息,大多数都将在C中。

        4
  •  4
  •   Ben Hoffman    14 年前

    对于.NET 4.0,vb.net和c具有完全相同的功能。唯一真正的区别是语法。在4.0之前,情况并非如此,因为存在许多细微的差异。然而,微软已经努力使语言保持一致。这将随着4.0版本的发布而发生。

        5
  •  3
  •   jeroenh    14 年前

    对我来说,最引人注目的区别之一是C通常具有更简洁的语法。这一点在lambda表达式中尤为明显。尽管vb.net现在具有相同的功能,但我发现vb.net语法太冗长了。

    例如,如果使用linq“fluent api”语法:

    C.*

    var addresses = _users
       .Where(u => u.Name == "scott")
       .Select(u => u.Address)
    

    诚然,语法一开始可能有点奇怪,但一旦你习惯了它,它就会变得非常可读。与vb.net比较:

    Dim addresses = _users _
         .Where(Function(u) As Boolean
                    return u.Name = "scott"
                End Function) _
         .Select(Function(u) as Address
                    Return u.Address
                 End Function)
    

    编辑: 显然我被误传了…

    上面的代码仅在VB10中有效(它们添加了多行lambda语句),但可以更简洁地编写如下:

            Dim addresses = users _
              .Where(Function(u) u.Name = "scott") _
              .Select(Function(u) u.Address)
    

    除了丑陋的下划线和 Function 关键字而不是 => ,这个 基本上是一样的。不过,还是更喜欢C语法;-)

        6
  •  1
  •   Randolpho    14 年前

    如果您主要是一个VB程序员,C可能会令人困惑;所有这些神秘的大括号,而不是一个好的冗长的“结束子”!

    在大多数情况下,语言在其他方面是等效的;两种语言都编译为基本相同的IL(尽管偶尔会有差异),因此具有相同的性能(在大多数情况下)。

    底线:这是偏好。我更喜欢C。你可能不会。

        7
  •  0
  •   Otávio Décio    14 年前

    没有实质性的差异,而且现在vb.net和c将保持同步,所以这实际上取决于您(或您的公司)的偏好。

        8
  •  0
  •   Aim Kai    14 年前

    取决于你所工作的团队和技能库。

        9
  •  0
  •   Eric    14 年前

    在我看来,C是前进的道路。我可以用这两种代码,但更确切地说是C。.NET世界似乎围绕C_旋转。我认为你的公司会找到更多的C编码员,他们比你找到vb.net编码员更熟练。

        10
  •  0
  •   PitneFor    14 年前

    我想这两种语言都可以。我更喜欢C,只是因为C中有更多的文档。