假设我有一个IQueryable<T>表达式,我想封装它的定义,存储它并重用它,或者稍后将它嵌入到更大的查询中.例如:
IQueryable<Foo> myQuery =
from foo in blah.Foos
where foo.Bar == bar
select foo;
Run Code Online (Sandbox Code Playgroud)
现在我相信我可以保持myQuery对象并像我描述的那样使用它.但有些事情我不确定:
如何最好地参数化?最初我在一个方法中定义了这个,然后IQueryable<T>作为方法的结果返回.这样我就可以定义blah和bar作为方法参数,我猜它IQueryable<T>每次都会创建一个新的.这是封装逻辑的最佳方法IQueryable<T>吗?还有其他方法吗?
如果我的查询解析为标量而不是IQueryable? 例如,如果我希望此查询完全如所示,但附加.Any()只是让我知道是否有任何匹配的结果?如果我添加,(...).Any()则结果bool立即执行,对吧?有没有使用这些方式Queryable运营(Any,SindleOrDefault,等),但不立即执行?LINQ-to-SQL如何处理这个问题?
编辑:第2部分更多的是试图了解IQueryable<T>.Where(Expression<Func<T, bool>>)vs. 之间的限制差异IQueryable<T>.Any(Expression<Func<T, bool>>).在创建要延迟执行的大型查询时,似乎后者并不灵活.的Where()可以追加,然后在其它构建体可以稍后所附,然后最终执行.由于Any()返回标量值,因此它可以在构建其余查询之前立即执行.
长话短说,出现了一个错误,现在我需要从我的存储库中删除几十个文件夹中的至少一百个文件.
现在他们都被标记为"!" 在svn状态,我想删除它们而无需手动输入svn remove blahblah.
有快速的方法吗?
让我们说有一个字符串......
String myString = "my*big*string*needs*parsing";
Run Code Online (Sandbox Code Playgroud)
我想要的是将字符串拆分为"my","big","string"等等.所以我试试
myString.split("*");
Run Code Online (Sandbox Code Playgroud)
返回java.util.regex.PatternSyntaxException:在索引0附近悬挂元字符'*'
* 是正则表达式中的一个特殊字符所以我尝试转义....
myString.split("\\*");
Run Code Online (Sandbox Code Playgroud)
同样的例外.我想有人会知道一个快速的解决方案.谢谢.
请帮忙!
我在使用PHP.我有一个网址:' http : //example.com/articles/123a/view ',我怎么才能从这个带正则表达式的字符串中获取'123a'(可能是preg_replace).无法弄清楚.提前致谢.
手动示例: http://docs.djangoproject.com/en/1.0/topics/forms/formsets/#formset-validation(我正在使用Django 1.0.3在Google App Engine上运行)
码:
from django import forms
from django.forms.formsets import formset_factory
class ArticleForm1(forms.Form):
title = forms.CharField()
pub_date = forms.DateField()
class ArticleForm2(forms.Form):
title = forms.CharField()
class ArticleForm3(forms.Form):
title = forms.CharField()
pub_date = forms.CharField()
ArticleFormSet1 = formset_factory(ArticleForm1)
ArticleFormSet2 = formset_factory(ArticleForm2)
ArticleFormSet3 = formset_factory(ArticleForm3)
data = {
'form-TOTAL_FORMS': u'2',
'form-INITIAL_FORMS': u'0',
'form-0-title': u'',
'form-0-pub_date': u'16 June 1904',
'form-1-title': u'', # <-- this title is missing but required
'form-1-pub_date': u'16 June 1904', # <-- this date is missing but required …Run Code Online (Sandbox Code Playgroud) 更新:
我可以把这个问题解决成一个更简单的问题:
我想弄清楚正确的正则表达式是用两个反斜杠替换任何一次反斜杠的情况.
我想转此:
vlc.plugin.path = C:\Program Files\JekyllV0.9.2\\VLC_1.0.0\\plugins
Run Code Online (Sandbox Code Playgroud)
成:
vlc.plugin.path = C:\\Program Files\\JekyllV0.9.2\\VLC_1.0.0\\plugins
Run Code Online (Sandbox Code Playgroud)
原始问题:
我想使用Perl Regex在文件中更改以下内容:
我尝试了以下方法:
perl" -p -i.orig -e "s#\\#\\\\#g" -e "s#/#\\\\#g" %VIDEOLOG_PROPERTIES_FILE%
Run Code Online (Sandbox Code Playgroud)
%VIDEOLOG_PROPERTIES_FILE%包含的位置:
vlc.plugin.path = C:\Program Files\JekyllV0.9.2/VLC_1.0.0/plugins
Run Code Online (Sandbox Code Playgroud) 我有一个Item.Item有一个Category.
Category有ID,Name,Parent和Children.Parent和Children是Category太.
当我为特定的LINQ to Entities查询时Item,它不返回相关的Category,除非我使用该Include("Category")方法.但它并没有带来父母和孩子的完整范畴.我能做到Include("Category.Parent"),但这个对象就像一棵树,我有一个递归的层次结构,我不知道它的结束.
如何让EF完全加载Category父项和子项,父项与父项和子项一起加载,依此类推?
这不适用于整个应用程序,出于性能考虑,仅需要此特定实体(类别).
我正在使用Excel 2007.我有一个单独的二进制文件编写的C#代码.代码在类上使用静态类和静态方法.我在VSTO Excel工作表项目中引用了DLL.我需要添加或修改哪些才能使其正常工作?
我的C#代码如下所示:
using System;
using System.Collections.Generic;
using Microsoft.Office.Interop.Excel;
using System.Runtime.InteropServices;
namespace FooStatistics
{
[ComVisible(true)]
public static class Statistics
{
public static int Count(Range range)
{
return range.Count;
}
Run Code Online (Sandbox Code Playgroud)
我希望能够将公式放入Excel单元格中,如下所示:
=FooStatistic.Statistic.Count(A1:A10)
Run Code Online (Sandbox Code Playgroud)
管他呢.
我已经看过这个,但它似乎是Excel 2003中的非静态类.我不相信整合现在还不是更好.
我已经看了很多关于StackOverflow的问题.它们似乎没有提供本机集成(很多人说,"使用X开源库"),并且不祥的是OP很多都不接受它们.我不是在寻找,"将它变成一个COM对象并从VBA调用它."
所以我在寻找:
所以这是另一个StackOverflow链接,其中两个响应者说:
这是一个从2009年6月开始的问题.这是真的 - 在2009年你必须将你的.NET组件公开为COM服务器以获得可调用的Excel UDF吗?
假设我有一个滚动的值集合,我指定集合的大小,并且每当添加新值时,超出此指定大小的任何旧值都将被删除.显然(我已经测试了这个)用于此行为的最佳集合类型是队列:
myQueue.Enqueue(newValue)
If myQueue.Count > specifiedSize Then myQueue.Dequeue()
Run Code Online (Sandbox Code Playgroud)
但是,如果我想计算队列中第一个和最后一个项目之间的差异怎么办?显然我无法通过索引访问项目.但是,从队列切换到实现IList的东西看起来有点矫枉过正,就像写一个新的类Queue类一样.现在我有:
Dim firstValue As Integer = myQueue.Peek()
Dim lastValue As Integer = myQueue.ToArray()(myQueue.Count - 1)
Dim diff As Integer = lastValue - firstValue
Run Code Online (Sandbox Code Playgroud)
那个叫ToArray()我困扰的电话,但是一个更好的选择不会来找我.有什么建议?
信用卡类型可以仅通过信用卡号码确定吗?
这是推荐还是总是向客户询问他们使用的信用卡类型?
我用Google搜索并找到了这个算法:http://cuinl.tripod.com/Tips/o-1.htm,这可靠吗?
谢谢
c# ×4
regex ×2
.net ×1
backslash ×1
collections ×1
credit-card ×1
django ×1
django-forms ×1
e-commerce ×1
excel ×1
filepath ×1
formset ×1
iqueryable ×1
java ×1
linq ×1
perl ×1
php ×1
queue ×1
repository ×1
string ×1
svn ×1
validation ×1
vb.net ×1
vsto ×1
windows ×1