草庐IT

c# - Entity Framework VS 纯 Ado.Net

EF是一个被广泛使用的人员,但我不知道我应该如何使用它。我在使用不同方法的不同项目中遇到了很多关于EF的问题。所以我脑子里汇集了一些问题。答案让我使用带有存储过程的纯ado.net。所以问题是:n层应用如何处理EF?例如,我们有一些带有EF的DAL。我看到很多文章和项目使用存储库、工作单元模式作为EF的某种抽象。我认为这种方法扼杀了提高开发速度的大部分好处,并导致了一些事情:EF负载的重新映射导致某些DTO会降低性能(调用一些选择以获取表数据-第一个循环,第二个循环-将结果映射到由ef生成的某些复合类型,接下来-使用linq过滤映射数据,最后,将其映射到某个DTO)。准确地重新映射到D

c# - 如何解决 值不能为空。参数名称 : source in linq?

我不知道为什么会出现这种错误。它有时会发生,我怀疑我的代码在我关闭我的应用程序时仍然有线程在运行。所以当我再次打开时,它发生了。Valuecannotbenull.Parametername:sourceStackTree:   atSystem.Linq.Enumerable.Where[TSource](IEnumerable`1source,Func`2predicate)   atSusenas2015.ViewModels.Kuesioner.VMVsen15_KVal.SettingValidationAndRange(List`1listTextBox,List`1lis

c# - 如何解决 值不能为空。参数名称 : source in linq?

我不知道为什么会出现这种错误。它有时会发生,我怀疑我的代码在我关闭我的应用程序时仍然有线程在运行。所以当我再次打开时,它发生了。Valuecannotbenull.Parametername:sourceStackTree:   atSystem.Linq.Enumerable.Where[TSource](IEnumerable`1source,Func`2predicate)   atSusenas2015.ViewModels.Kuesioner.VMVsen15_KVal.SettingValidationAndRange(List`1listTextBox,List`1lis

c# - Linq - 找出延迟执行的最快方法是什么?

找出哪些.net框架linq方法(例如.IEnumerablelinq方法)是使用延迟执行实现的,哪些不是使用延迟执行实现的,最快的方法是什么。在多次编码时,我想知道这个是否会以正确的方式执行。找出答案的唯一方法是转到MSDN文档以确保。有没有更快的方法,任何目录,网络上某处的任何列表,任何备忘单,任何其他可以分享的技巧?如果是,请这样做。这将帮助许多linq菜鸟(比如我)少犯错误。唯一的另一种选择是检查文档,直到人们使用它们足以记住(这对我来说很难,我倾向于不记得在某处记录并可以查找的“任何东西”:D)。 最佳答案 通常返回序列的

c# - Linq - 找出延迟执行的最快方法是什么?

找出哪些.net框架linq方法(例如.IEnumerablelinq方法)是使用延迟执行实现的,哪些不是使用延迟执行实现的,最快的方法是什么。在多次编码时,我想知道这个是否会以正确的方式执行。找出答案的唯一方法是转到MSDN文档以确保。有没有更快的方法,任何目录,网络上某处的任何列表,任何备忘单,任何其他可以分享的技巧?如果是,请这样做。这将帮助许多linq菜鸟(比如我)少犯错误。唯一的另一种选择是检查文档,直到人们使用它们足以记住(这对我来说很难,我倾向于不记得在某处记录并可以查找的“任何东西”:D)。 最佳答案 通常返回序列的

c# - 获取 List<string> 的一部分

我有一个列表,看起来像这样:someheadlinecontentasubheadlinecontainingthekeyword12015-05-05somedata22015-05-05somedata32015-05-05somedatasomecontentasubheadlinecontaininganotherkeyworduselessstuff所以现在我想抓取“关键字”和“另一个关键字”之间的所有内容。也许我应该找到“关键字”和“另一个关键字”的索引并使用.GetRange(),但是有没有更优雅的方法来做到这一点,例如LINQ? 最佳答案

c# - 获取 List<string> 的一部分

我有一个列表,看起来像这样:someheadlinecontentasubheadlinecontainingthekeyword12015-05-05somedata22015-05-05somedata32015-05-05somedatasomecontentasubheadlinecontaininganotherkeyworduselessstuff所以现在我想抓取“关键字”和“另一个关键字”之间的所有内容。也许我应该找到“关键字”和“另一个关键字”的索引并使用.GetRange(),但是有没有更优雅的方法来做到这一点,例如LINQ? 最佳答案

c# - ReSharper 为 lambda 表达式中的变量名称提供 "@"前缀

当使用ReSharper时,它会自动添加一个@,为什么?publicstaticstringRemoveDiacritics(thisstringinput){if(string.IsNullOrEmpty(input))returninput;varnormalizedString=input.Normalize(NormalizationForm.FormD);varstringBuilder=newStringBuilder();foreach(varvalueinnormalizedString.Select(value=>new{value,unicodeCategory=C

c# - ReSharper 为 lambda 表达式中的变量名称提供 "@"前缀

当使用ReSharper时,它会自动添加一个@,为什么?publicstaticstringRemoveDiacritics(thisstringinput){if(string.IsNullOrEmpty(input))returninput;varnormalizedString=input.Normalize(NormalizationForm.FormD);varstringBuilder=newStringBuilder();foreach(varvalueinnormalizedString.Select(value=>new{value,unicodeCategory=C

c# - 如何使用反射调用扩展方法?

我明白以前有人问过类似的问题,但我很难在下面的代码中调用LinqWhere方法。我希望使用反射来动态调用此方法,并动态构建Where子句中使用的委托(delegate)(或lambda)。这是一个简短的代码示例,一旦运行,将有助于构成我正在构建的解释型DSL的一部分。干杯。publicstaticvoidCallWhereMethod(){ListmyObjects=newList(){newMyObject{Name="JonSimpson"}};System.DelegateNameEquals=BuildEqFuncFor("Name","JonSimpson");object[