Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
实体框架-C#或VB.Net_C#_Vb.net_Entity Framework_.net 4.0 - Fatal编程技术网

实体框架-C#或VB.Net

实体框架-C#或VB.Net,c#,vb.net,entity-framework,.net-4.0,C#,Vb.net,Entity Framework,.net 4.0,当.NET4问世时,我的公司正在考虑使用实体框架。我们目前是一家VB.NET商店,但对切换到C#有些兴趣 是否有支持或反对这一举措的主要论据? 与VB.NET相比,EF和C#在性能、编码易用性等方面是否有任何优势 谢谢你的想法/意见 我总是说坚持你擅长的。如果从vb.net到C#有一个很大的学习曲线,那么可能会有风险。我是一名vb.net程序员,但转行到C#,我觉得这并不难。但是,如果您正在开发一些需要每日更改/修复的健壮软件,您可能希望坚持您擅长的东西(在本例中为VB.net) 在比较实体框

当.NET4问世时,我的公司正在考虑使用实体框架。我们目前是一家VB.NET商店,但对切换到C#有些兴趣

是否有支持或反对这一举措的主要论据?
与VB.NET相比,EF和C#在性能、编码易用性等方面是否有任何优势


谢谢你的想法/意见

我总是说坚持你擅长的。如果从vb.net到C#有一个很大的学习曲线,那么可能会有风险。我是一名vb.net程序员,但转行到C#,我觉得这并不难。但是,如果您正在开发一些需要每日更改/修复的健壮软件,您可能希望坚持您擅长的东西(在本例中为VB.net)

在比较实体框架的两种语言时,您不会发现有太大的差异。如果您更喜欢带有匹配的结束子节点的公共子节点(更冗长,更详细),那么请使用vb.net。如果你喜欢{}并且不太冗长,那么你更喜欢C#


我不喜欢告诉人们不要学C,因为老实说,我希望我早就从VB.net改成C了。我喜欢这种神秘的语法,因为我有C/C++的背景。由于一些内部应用程序,我不得不处理VB.net一段时间。因此,这是首选项,您可能会很快在vb.net中实现所有功能。但是,如果你的公司愿意让你们学习一门新语言,并投资于知识,那么我建议你们一直学习C。

没有实质性的区别,而且现在VB.NET和C将比以往任何时候都更加同步,所以这实际上取决于你(或你的公司)的偏好。

使用.NET 4.0,VB.NET和C#具有完全相同的功能。唯一真正的区别是语法。在4.0之前,情况并非如此,因为存在一些细微差异。然而,微软已经在努力使这两种语言保持一致。这将随着4.0的发布而发生

如果你主要是一名VB程序员,C#可能会让人困惑;所有这些神秘的大括号,而不是一个漂亮的冗长的“结束子”

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


一句话:这是一种偏好。我更喜欢C。你可能不会

这取决于你所在的团队和技能基础。

事实上,我对vb.net有一种非理性的厌恶。老实说,我更喜欢c#语法,但没有令人信服的理由切换。它们都编译成IL,有着非常细微的区别,并且都具有相同的能力


我想,转换的最令人信服的原因可能是,与vb相比,更容易找到和招募高质量的c#开发人员。

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

对我来说,最引人注目的区别之一是c#通常具有更简洁的语法。这尤其体现在lambda表达式中。尽管VB.Net现在具有相同的功能,但我发现VB.Net语法过于冗长

例如,如果您使用LINQ“Fluent API”语法:

C#

诚然,语法一开始可能有点奇怪,但一旦你习惯了,它实际上变得非常可读。将其与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)

除了丑陋的下划线和
函数
关键字而不是
=>
,这基本上是一样的。但仍然更喜欢C#语法;-)

在我看来,C#是一条出路。我可以用这两种语言编写代码,但更确切地说是C语言。Net世界似乎围绕着C#运转。我想你的公司会发现更多的C#代码编写人员比VB.net代码编写人员更熟练。

我认为这两种语言都可以工作。我更喜欢c#,只是因为他们有更多的文档是用c#编写的。

主席先生,我更喜欢VB6。不!C#::+1因为如此真实,它只是同一输出的不同方言。一个很好的冗长的“End Sub”*spits*;)跟上市场营销的行话,它不再是.0,而只是4;)看看微软的行话。如果他们是一家聪明的公司,他们会减少行话,生产更好的产品。我喜欢他们,但他们仍然需要改进营销术语,不再是。0,只是4;)我为这种冒犯性的疏忽道歉;你可能想接受一个你满意的答案。它帮助人们意识到你的问题已经解决了。这真的有效吗?通常,不管怎样,您都会保留“As Boolean”和“End Function”的内容。对于一行程序来说,VB.NET的语法比C#差不了多少s@Eamon. 正如Eaomon所说,有效的VB并不比C#差多少
Dim addresses=_users.Where(Function(w)w.Name=“scott”).Select(Function(z)z.Address)
但对我来说,很难改进这个VB
Dim addresses=From u In _用户,u.Name=“scott”Select u.Address
。。。我意识到我的第二个例子并不“流利”(按书上的说法),但我认为它可读性强,非常简洁,并且允许链接,这是“流利”的主要优点AFAIK@EamonNerbonne,@MarkJ我写的代码在VB中是有效的,但只在VB10中有效。然而,我忽略了更简洁的单行语法;相应地更新了我的答案。关于VB.NET LINQ和C#LINQ,整个“函数(w)”绝对是我鄙视的一件事。另一件事是LINQ语句的行连续字符。谢谢你的多行提示。我看起来像个傻瓜
        Dim addresses = users _
          .Where(Function(u) u.Name = "scott") _
          .Select(Function(u) u.Address)