已回答 技术,实体框架和LINQ

印喜

-
已加入
2020年8月24日
留言内容
11
地点
斯德哥尔摩
编程经验
10+
你好

我是Microsoft技术堆栈的新手。
使用MSSQL,.NET和实体框架-是否需要使用LINQ,这对我来说增加了任何价值吗?
我将要创建一个Wniforms应用福彩12选5走势图。

最好,我
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,504
地点
弗吉尼亚州切萨皮克
编程经验
10+
LINQ是一种语言功能,不一定是"technology" or "framework".
 

羊皮

退休福彩12选5走势图员
工作人员
已加入
2018年9月5日
留言内容
1,926
地点
英国
编程经验
10+

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,509
地点
悉尼,澳大利亚
编程经验
10+
如果您使用的是实体框架,那么您几乎必须使用LINQ。

有许多LINQ提供福彩12选5走势图可用于不同的数据源,您不必使用大多数。例如,LINQ to Objects是针对标准数组和集合编写LINQ查询的提供福彩12选5走势图。如果您不想在这种情况下使用LINQ,那么它肯定会使您的代码更简洁。有用于查询XML数据的LINQ to XML提供福彩12选5走势图,用于查询ADO.NET数据表的LINQ to DataSet,用于直接访问SQL Server数据库的LINQ to SQL等。如果使用的是Entity Framework,则应该使用LINQ来针对LINQ to Entities提供福彩12选5走势图编写查询。尽管EF确实支持实体SQL,但实际上仅应在提供真正优势的情况下使用。 EF旨在与LINQ一起使用。与Microsoft创建的专门用于SQL Server的LINQ to SQL不同,任何数据源供应商都可以为该数据源创建EF提供福彩12选5走势图,然后LINQ to Entities提供福彩12选5走势图与此接口。 SQL Server只是存在EF提供福彩12选5走势图的众多数据库之一。
 

印喜

-
已加入
2020年8月24日
留言内容
11
地点
斯德哥尔摩
编程经验
10+
如果您使用的是实体框架,那么您几乎必须使用LINQ。

有许多LINQ提供福彩12选5走势图可用于不同的数据源,您不必使用大多数。例如,LINQ to Objects是针对标准数组和集合编写LINQ查询的提供福彩12选5走势图。如果您不想在这种情况下使用LINQ,那么它肯定会使您的代码更简洁。有用于查询XML数据的LINQ to XML提供福彩12选5走势图,用于查询ADO.NET数据表的LINQ to DataSet,用于直接访问SQL Server数据库的LINQ to SQL等。如果使用的是Entity Framework,则应该使用LINQ来针对LINQ to Entities提供福彩12选5走势图编写查询。尽管EF确实支持实体SQL,但实际上仅应在提供真正优势的情况下使用。 EF旨在与LINQ一起使用。与Microsoft创建的专门用于SQL Server的LINQ to SQL不同,任何数据源供应商都可以为该数据源创建EF提供福彩12选5走势图,然后LINQ to Entities提供福彩12选5走势图与此接口。 SQL Server只是存在EF提供福彩12选5走势图的众多数据库之一。

感谢您的详尽答复。
我是一名经过培训的福彩12选5走势图员,从那以后就开始使用Java平台-所以这是我的参考点。
因此,全神贯注于Microsoft Technology堆栈是我计划未来工作的一种方式。
有一些好的书/文章介绍了最佳实践吗?
我将使用最新的MSSQL服务器it-dept。将在下周升级生产数据库。

最好,我
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,504
地点
弗吉尼亚州切萨皮克
编程经验
10+
那并不是我的问题的答案。
你的主题是"Techonoliges(原文如此),实体框架和LINQ"。我只是让您知道LINQ不是技术,就像泛型或类型推断不是技术一样。我只是说LINQ是一种语言功能,如泛型和类型推断。
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,504
地点
弗吉尼亚州切萨皮克
编程经验
10+
有一些好的书/文章介绍了最佳实践吗?
MSDN是一个很好的来源,但是不幸的是,并非总是容易消化的。

I can't give any advice on any books or articles specifically from the Java going to C# perspective. What I can say based on the C# code I've seen in my company written by others who are making that same Java to C# journey is that just transliterating from Java to C# doesn't make for very elegant looking or efficient C#. Just like there are idiomatic ways of doing things in Java, the idioms don't always translate well to C#. Off the top of my head is the Java compulsion to use Equals() for comparisons when C#'s idiomatic use is to use the "==" operator.
 

约翰·H

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
1,031
地点
挪威
编程经验
10+
你的主题是"Techonoliges(原文如此),实体框架和LINQ"。我只是让您知道LINQ不是技术,就像泛型或类型推断不是技术一样。我只是说LINQ是一种语言功能,如泛型和类型推断。
我有点同意,尽管: 语言集成查询(LINQ)(C#)
语言集成查询(LINQ)是基于直接将查询功能集成到C#语言中的一组技术的名称。
 

羊皮

退休福彩12选5走势图员
工作人员
已加入
2018年9月5日
留言内容
1,926
地点
英国
编程经验
10+
我将要创建一个Wniforms应用福彩12选5走势图。
好吧,希望你说"Windows application"-您实际上是在指WPF / Xamarin类型的应用福彩12选5走势图,而不是Winforms。您应该知道,该建议来自任何有头脑的技术专家,包括Microsoft。现在建议人们远离Winforms,因为它不仅接近EOL,而且实际上是EOL。它仍然受支持的唯一原因是因为许多大公司仍在运行Winforms。对于某些公司来说,将所述应用福彩12选5走势图移植到诸如WPF之类的方法中并不是一种选择。但是,这并不能成为使用Winforms的借口。 WPF更快,更现代,可伸缩,更强大,并且更容易为您的应用福彩12选5走势图构建邪恶的主题。鉴于您经历了学习过程,这可以通过编写Xaml来实现。
这对我有什么价值吗?
我认为; @jmcilhinney 最好在上面的帖子中。 Linq不仅提供了良好的可读性代码(前提是您了解如何读取/编写代码),而且通常可以在大多数时间用更少的代码来做更多的事情。您的问题实际上是个人观点问题,应用福彩12选5走势图的要求与价值本身没有任何关系。

您是否需要Linq代码,如果需要,为什么?您是否了解Linq语法,足以编写一个完整设计的应用福彩12选5走势图?
您的应用福彩12选5走势图是否具有基于数据库或面向对象或基于文件系统的数据库,如果答案为是,则为是;您可能只想以此为基础考虑Linq。那么,您是否需要某种形式的数据库或对象映射,以及诸如xml文件等文件实体?
那并不是我的问题的答案。
也许不是;但我认为这仍然是一个有效的观点 @跳伞 以为可能使您感到困惑。
我不同意微软文档的说法。我不认为Linq是一项技术。在我看来,这仅仅是对C#语言的扩展。该文章应改写。 :)
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,509
地点
悉尼,澳大利亚
编程经验
10+
我不同意微软文档的说法。我不认为Linq是一项技术。在我看来,这仅仅是对C#语言的扩展。该文章应改写。 :)
LINQ不仅仅是语言关键字和语法定义。 LINQ提供福彩12选5走势图不是C#语言的扩展。该语言已内置了对该技术的支持。我认为人们可能会倾向于将注意力集中在表面上看到的内容上,而忘记引擎盖下发生的事情。
 

羊皮

退休福彩12选5走势图员
工作人员
已加入
2018年9月5日
留言内容
1,926
地点
英国
编程经验
10+
约翰有不同的看法。我想人们用这个词"技术"到如今的松散状态。我将Linq视为c Sharp的扩展。您是否也认为c Sharp也是一项技术?

我几乎不会将.Net视为技术,将c Sharp视为.Net的派生语言。
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,509
地点
悉尼,澳大利亚
编程经验
10+
我将Linq视为c Sharp的扩展。
C#和VB语言都被扩展为支持LINQ,并带有新关键字等。它们被扩展为支持的LINQ都不是这两种语言的一部分。当然,我们都有权就应如何使用某些单词发表自己的见解,Microsoft并不是每个人都应该考虑编程的仲裁者,但是,如果有人正在学习成为.NET开发人员,那么Microsoft认为重要的是,因此根据与某人差不多有效的一种观点告诉他们微软是错的,这可能是有道理的。就是说,关于此主题的原始评论是LINQ不是"necessarily"技术,因此关于该主题的陈述不太明确。
 

印喜

-
已加入
2020年8月24日
留言内容
11
地点
斯德哥尔摩
编程经验
10+
你的主题是"Techonoliges(原文如此),实体框架和LINQ"。我只是让您知道LINQ不是技术,就像泛型或类型推断不是技术一样。我只是说LINQ是一种语言功能,如泛型和类型推断。
MSDN是一个很好的来源,但是不幸的是,并非总是容易消化的。

I can't give any advice on any books or articles specifically from the Java going to C# perspective. What I can say based on the C# code I've seen in my company written by others who are making that same Java to C# journey is that just transliterating from Java to C# doesn't make for very elegant looking or efficient C#. Just like there are idiomatic ways of doing things in Java, the idioms don't always translate well to C#. Off the top of my head is the Java compulsion to use Equals() for comparisons when C#'s idiomatic use is to use the "==" operator.

谢谢。
我不是真的在寻找语法的转换,我很好。
而是涉及到“技术”堆栈(在这里宽松地使用术语)。
例如,在Java中,我会选择:JEE,使用实体框架(即“休眠”-框架)+ Wildfly作为应用福彩12选5走势图服务器,并使用MySQL作为数据库。
-休眠状态具有其查询语言(HQL)。 Wildfly服务器负责与MySQL-db的连接(在此处设置了凭据等)

我希望有一个小型的Winforms项目,是使其尽可能简单和可读(我们可以将其称为参考应用福彩12选5走势图)。
-因此,C#.NET将Entity-Framework与MSSQL一起使用。如果使用LINQ有意义,那么LINQ是否会使代码更具可读性....
因此,我想掌握一些基本原则(不要使代码库混乱),并使用具有适当技术的此应用福彩12选5走势图,以使我的同事相信我们可以将C#.NET用于某些应用福彩12选5走势图。

最好,我
这是通往未来的可行方法...
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,504
地点
弗吉尼亚州切萨皮克
编程经验
10+
如果您是从头开始的,请不要误解WinForms。是的,它可能看起来与其他基于Java的GUI框架相似,并且移动起来更加舒适,但是WinForms即将终结。它最初只是应该在.NET Framework 4.x中消失,但是通过移植到.NET Core 3.1中可以为公司提供更多时间来移植其旧版LOB应用福彩12选5走势图,从而获得了一些额外的生命支持。
 

羊皮

退休福彩12选5走势图员
工作人员
已加入
2018年9月5日
留言内容
1,926
地点
英国
编程经验
10+
@跳伞 我已经在帖子10中对此进行了解释,但是OP倾向于忽略该建议。而且,如果他们正在考虑使用数据库映射器(ORM),请确保避免使用实体框架。在我的拙见中,由于EF的未修复错误数量和内存泄漏,Dapper将是更好的选择。使用EF,您越依赖它,应用福彩12选5走势图将遇到的问题越多。
 

羊皮

退休福彩12选5走势图员
工作人员
已加入
2018年9月5日
留言内容
1,926
地点
英国
编程经验
10+
我能说什么你是幸运者之一。 ;)
 

印喜

-
已加入
2020年8月24日
留言内容
11
地点
斯德哥尔摩
编程经验
10+
如果您是从头开始的,请不要误解WinForms。是的,它可能看起来与其他基于Java的GUI框架相似,并且移动起来更加舒适,但是WinForms即将终结。它最初只是应该在.NET Framework 4.x中消失,但是通过移植到.NET Core 3.1中可以为公司提供更多时间来移植其旧版LOB应用福彩12选5走势图,从而获得了一些额外的生命支持。

谢谢。您能否向我提供指向Microsoft的链接,以说明Winforms的停产日期-我找不到该声明。
微软是否提供用于构建独立应用福彩12选5走势图的另一个平台?
-关于这一点的快速google,唯一出现的就是WPF。

-一世
 

羊皮

退休福彩12选5走势图员
工作人员
已加入
2018年9月5日
留言内容
1,926
地点
英国
编程经验
10+
为什么需要证明?如果这不是一个已知的事实,我们就不会说了。您可以搜索生命周期策略。

使用针对Winforms vs WPF的搜索引擎进行一些研究,您会发现几乎每个人都会建议使用WPF,因为Winforms被认为是EOL。那是因为这也是Microsoft推荐的。除非要构建一些旧的旧式应用福彩12选5走势图,否则应使用UWP,WPF或Xamarin。它们是您的替代选择。注意UWP应用将您限制为Windows 10和Windows Mobile。
 
最佳 底部