小编Joh*_*hn_的帖子

有人能解释一下这个GetCardinality方法在做什么吗?

我一直在寻找Lucene.NET的分面搜索,我在这里找到了一个很好的例子,它解释了一个相当大的数量,除了它完全忽略了检查位数组中项目基数的功能.

任何人都可以告诉我它正在做什么吗?我不理解的主要问题是为什么bitsSetArray按原样创建,它用于什么以及所有if语句如何在for循环中工作.

这可能是一个很大的问题,但我必须先了解它是如何工作的,甚至可以考虑在我自己的代码中使用它.

谢谢

public static int GetCardinality(BitArray bitArray)
    {
        var _bitsSetArray256 = new byte[] {0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, …
Run Code Online (Sandbox Code Playgroud)

c# lucene.net faceted-search

6
推荐指数
2
解决办法
2313
查看次数

NHibernate与字符串主键和关系

我刚刚被这个问题困住了一个小时,我最终烦恼地发现了这个问题.

情况

我有一个用户将字符串作为主键的表,该表具有各种多对一和多对多的关系.

当从表中搜索多个项目时,所有关系都被带回.但是每当我试图通过主键(字符串)获取对象时,它都没有带回任何关系,它们总是设置为0.

部分解决方案

所以我查看了我的日志,看看SQL正在做什么,并返回正确的结果.所以我以各种随机的方式尝试了各种各样的东西,最终得出结论.传递给get方法的字符串的情况与数据库中的情况完全不同,所以当它试图将关系项与主实体匹配时它什么都没找到(或者至少NHIbernate不是因为正如我上面所述,SQL实际上返回了正确的结果)

真正的解决方案

还有其他人遇到过这个吗?如果是这样,在将SQL结果与实体匹配时,如何告诉NHibernate忽略大小写?这很愚蠢,因为它之前的工作非常好,突然间它开始关注字符串的情况.

.net nhibernate nhibernate-mapping

5
推荐指数
1
解决办法
7176
查看次数

我应该在lucene.net中使用什么分析器来获取URL?

我在获取正确标记的简单URL时遇到问题,以便您可以按预期进行搜索.

我正在使用StandardAnalyzer 索引" http://news.bbc.co.uk/sport1/hi/football/internationals/8196322.stm "并将字符串标记为以下(调试输出):

(http,0,4,type=<ALPHANUM>)
(news.bbc.co.uk,7,21,type=<HOST>)
(sport1/hi,22,31,type=<NUM>)
(football,32,40,type=<ALPHANUM>)
(internationals/8196322.stm,41,67,type=<NUM>)
Run Code Online (Sandbox Code Playgroud)

一般来说它看起来不错,http本身,然后主机名,但问题似乎与正斜杠.当然它应该把它们视为单独的词?

我需要做些什么才能纠正这个问题?

谢谢

PS我正在使用Lucene.NET,但我真的不认为这对答案有很大影响.

lucene analyzer

5
推荐指数
1
解决办法
2095
查看次数

何时将某些实体分成不同的存储库?

我通常会尝试将所有相关实体保存在同一个存储库中.以下是两者之间具有关系的实体(标有缩进):

  • 用户
    • UserPreference

因此,进入用户存储库是有意义的.但是,用户通常会链接到许多不同的实体,您将在以下示例中执行哪些操作?

  • 用户

    • UserPrefence
    • 订购
  • 订购

    • 产品

订单与产品和用户都有关系,但您不会将所有4个实体的功能放在同一个存储库中.当您处理用户实体并收集订单信息时,您会怎么做?您可能需要有关产品的额外信息,并且ORM通常会提供延迟加载的功能.但是,如果您的产品实体位于用户实体的单独存储库中,那么这肯定会导致存储库之间发生冲突吗?

.net c# design-patterns domain-driven-design repository-design

4
推荐指数
1
解决办法
391
查看次数

在NHibernate中更改初始的LazyLoad行为

我刚刚开始使用NHibernate和流畅的NHibernate,我认为这很棒.我一直在配置我的所有映射,以便为类之间的任何关系使用LazyLoading,因为通常我发现不必提前加载所有内容.但是,有时您会100%知道您将加载所有关系或至少一个关系,如果您预先获得数据,它将保存额外的连接.

无论如何,你可以告诉NHibernate加载关系的关系数据并覆盖初始设置吗?

之前我正在使用LinqToSql,因为我会创建一个存储库,这些存储库会在需要时将哪些项加载到哪些关系中.这非常有效,所以我想要NHibernate类似的东西.

.net c# nhibernate orm

4
推荐指数
1
解决办法
1328
查看次数

需要验证datacontract和datamember

我正在使用web api构建一个API,当收到发布的值并将它们绑定到我的模型时,我得到的错误似乎不合适.

我有一个简单的模型如下:

public class Client
{
    [ScaffoldColumn(false)]
    [JsonIgnore]
    public int ClientID { get; set; }
    [Required, StringLength(75)]
    public string Name { get; set; }
    [Required]
    public bool Active { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

将此模型发送到我的控制器上的post方法时

public object Post([FromBody]Client postedClient)
Run Code Online (Sandbox Code Playgroud)

它通过x-www-form-urlencoded格式化程序,但它抛出:

Property 'Active' on type 'CreditSearch.Api.Models.Rest.Client' is invalid. Value-typed properties marked as [Required] must also be marked with [DataMember(IsRequired=true)] to be recognized as required. Consider attributing the declaring type with [DataContract] and the property with [DataMember(IsRequired=true)].
Run Code Online (Sandbox Code Playgroud)

我也试过它以json格式发送相同的数据,但我得到了相同的结果.我试图添加这些属性只是为了让代码工作,但Resharper和我自己找不到正确的引用.即便如此,我也不愿意在普通的MVC系统中验证之前不需要添加这些多余的属性.

  1. 我真的需要这些属性吗?以前不需要它们.
  2. 如果是这样,我需要添加哪些参考?

.net c# asp.net-web-api

4
推荐指数
1
解决办法
4633
查看次数

如何在c#中调用(web)Button.Click?

作为标题真的,我在我的代码的一部分,我想调用已添加到Button.Click处理程序的任何方法.

我怎样才能做到这一点?

.net c# asp.net events

1
推荐指数
1
解决办法
5837
查看次数