在我的存储库实现中,我可以使用lambda表达式运行以下查询:
public IList<User> GetUsersFromCountry(string)
{
return _UserRepository.Where(x => x.Country == "Sweden").ToList();
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,这么好,简单的东西.但是,我在编写嵌套 - >嵌套列表的lambda表达式时遇到了困难.给出以下示例(抱歉无法想到更好的一个):
以下查询绝对正常,并返回所有俱乐部,其成员年龄超过45岁
public IList<Clubs> GetGoldMembers()
{
var clubs = from c in ClubRepository
from m in c.Memberships
where m.User.Age > 45
select c;
return clubs;
}
Run Code Online (Sandbox Code Playgroud)
目前,这是我对lambda表达的知识结束的地方.
我如何使用lambda表达式对ClubRepository编写上述查询,类似于上面的示例?
在某些情况下,您希望应用程序接受无效的SSL证书(测试环境/自签名证书等).
在.NET世界中,人们会使用ServerCertificateValidationCallback该类来实现.不幸的是,WinRT上下文中不存在该类.
我需要使用WinRT使用Web API,WinRT托管在没有有效ssl证书的服务器上.
如何使用HttpClient类或任何其他适当的类在WinRT中接受无效的ssl证书.
任何帮助或替代品将非常感激.
我有一个基类和两个派生类.
每个派生类都实现与属性相同的类型 - 唯一的区别是属性名称.
可悲的是,我对类设计影响不大 - >它们是从wsdl文件生成的.
然后我在BaseType上有一个属性来封装公共属性.计划是在我的网页浏览等中使用此属性.
我用着名的"Fruit-Example"来证明这个问题:
public class FruitBase
{
public virtual int ID { get; set; }
//
// The plan is to use this property in mvc view
//
[NotMapped]
public virtual FruitnessFactor Fruitness
{
get
{
if (this.GetType().BaseType == typeof(Apple))
return ((Apple)this).AppleFruitness;
else if (this.GetType().BaseType == typeof(Orange))
return ((Orange)this).OrangeFruitness;
else
return null;
}
}
}
public class FruitnessFactor { }
Run Code Online (Sandbox Code Playgroud)
在我的MVC控制器中,以下查询工作正常:
return View(context.FruitEntities
.OfType<Apple>().Include(a =>a.AppleFruitness)
.ToList());
Run Code Online (Sandbox Code Playgroud)
但是这个没有:
return View(context.FruitEntities
.OfType<Apple>().Include(a =>a.AppleFruitness)
.OfType<Orange>().Include(o => o.OrangeFruitness) …Run Code Online (Sandbox Code Playgroud) polymorphism linq-to-entities entity-framework ef-code-first entity-framework-5
我正在使用jetty在我的Windows机器上运行Solr.我已经下载了Spatial Solr插件,我最终设法启动并运行.我也使用Solrnet从我的asp.net mvc项目查询Solr.
现在,将数据添加到我的索引似乎工作正常,SpatialTierUpdateProcessorFactory也可以正常工作.
问题是:
如何使用Solrnet库将空间查询添加到我的常规查询中.我尝试使用"ExtraParams"参数添加它但是效果不好.
以下是我尝试将空间查询与数据范围查询相结合的示例.日期范围查询工作正常,没有附加空间查询:
new SolrQuery("{!spatial lat=51.5224 long=-2.6257 radius=10000 unit=km calc=arc threadCount=2}") && new SolrQuery(MyCustomQuery.Query) && new SolrQuery(DateRangeQuery);
Run Code Online (Sandbox Code Playgroud)
这导致对Solr的以下查询:
(({!spatial lat=51.5224 long=-2.6257 radius=100 unit=km calc=arc threadCount=2} AND *:*) AND _date:[2010-05-07T13:13:37Z TO 2011-05-07T13:13:37Z])
Run Code Online (Sandbox Code Playgroud)
我得到的错误信息是:
远程服务器返回错误:(400)错误请求.
SEVERE: org.apache.solr.common.SolrException: org.apache.lucene.queryParser.Pars
eException: Cannot parse '(({!spatial lat=51.5224 lng=-2.6257 radius=10000 unit=
km calc=arc threadCount=2} AND *:*) AND _date:[2010-05-07T13:09:49Z TO 2011-05-0
7T13:09:49Z])': Encountered " <RANGEEX_GOOP> "lng=-2.6257 "" at line 1, column 2
4.
Was expecting:
"}" ...
Run Code Online (Sandbox Code Playgroud)
现在,问题是如果我使用Solr Web Admin页面并对其执行以下查询,一切正常.
{!spatial lat=50.8371 …Run Code Online (Sandbox Code Playgroud) 我对正则表达式(c#)感到绝望,所以我希望得到一些帮助:
基本上我需要解析一个文本,我需要在文本中找到以下信息:
示例文本:
KeywordB:***TextToFind* 其余不相关,但 **KeywordB: Text ToFindB然后是更多文本。
我需要在某个可能以“:”结尾的关键字之后找到单词。
[更新]
谢谢 Andrew 和 Alan:很抱歉重新打开这个问题,但该正则表达式中缺少一件非常重要的事情。正如我在上一条评论中所写的那样,是否可以将变量(要查找多少个单词,取决于关键字)作为正则表达式的一部分?
或者:我可以为每个关键字使用不同的正则表达式(只会满手)。但仍然不知道如何在正则表达式中保持“要查找的词”常量