NHibernate类型没有实现

时间:2016-11-07 17:20:16

标签: c# nhibernate lucene.net

我正在升级我在3.3.2.4000到4.0.4.4000创建大约4年的解决方案。当我尝试提起它时,我收到以下错误:

{"Method 'Set' in type 'iSeguro.Data.Mappings.EmpresaBridge' from assembly 'iSeguro.Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.":"iSeguro.Data.Mappings.EmpresaBridge"}

类型定义如下:

public class EmpresaBridge : IFieldBridge
{
    public void Set(string name, object value, Document document, Field.Store store, Field.Index index, float? boost)
    {
        string data = string.Empty;
        if (value != null) data = ((Empresa)value).Nombre;
        document.Add(new Field(name, data, store, index));
    }
}

映射类型:

public partial class ValoracionSearchMap : DocumentMap<Valoracion>
{
    public ValoracionSearchMap()
    {
        Name("Valoracion");
        Id(c => c.Id);
        Map(c => c.Asunto).Store().No().Index().Tokenized().Boost(4);
        Map(c => c.Descripcion).Store().No().Index().Tokenized();
        Map(c => c.Publicar).Store().Yes().Index().Tokenized();

        Map(c => c.Creador).Store().Yes().Index().Tokenized();
        FieldBridge(c => c.Creador).Custom<UsuarioBridge>();

        Map(c => c.Empresa).Store().Yes().Index().Tokenized();
        FieldBridge(c => c.Empresa).Custom<EmpresaBridge>();

        Map(c => c.Producto).Store().Yes().Index().Tokenized();
        FieldBridge(c => c.Producto).Custom<ProductoBridge>();
    }
}

我已经离开游戏一段时间了,只是不知道错误是什么。这是假设用lucene.net挂钩对象。

谢谢!

1 个答案:

答案 0 :(得分:0)

检查您的dll版本。这可能是对实现IFieldBridge的项目的旧引用。

  1. 在Project&gt;下重新引用对您自己项目的引用参考
  2. 关闭解决方案并删除所有&#39; bin&#39;和&#39; obj&#39;项目文件夹中的文件夹
  3. 重建所有项目