小编Nir*_*raj的帖子

当基类在流畅的nhibernate中抽象时,如何实现每个具体类的表?

我有以下场景

public abstract class BaseClass
{
  public virtual int Id {get; set};
  public virtual string Name {get; set;}
}

public class FirstSubClass : BaseClass
{
   //properties and behaviour here
}

public class SecondSubClass : BaseClass
{
  //properties of SecondSubclass Here
}

public class ProcessStep
{
   public virtual IList<BaseClass> ContentElements {get; set;}  
}
Run Code Online (Sandbox Code Playgroud)

对于映射我使用了以下代码片段: -

this._sessionFactory =
                          Fluently.Configure().Database(SQLiteConfiguration.Standard
                          .ConnectionString(@"Data Source=SqliteTestSqlDataAccess.s3db;    Version=3; New=True; Pooling=True; Max Pool Size=1;"))
                          .Mappings(m => m.AutoMappings.Add(AutoMap.Assembly(assemblyWithDomainClasses).Conventions.Add(DefaultCascade.All())))
                          .ExposeConfiguration(BuildSchema)
                          .BuildSessionFactory();
Run Code Online (Sandbox Code Playgroud)

默认情况下,fluent将忽略作为BaseClass的抽象基类.但是在ProcessStep类中有返回IList的属性ContentElements ,我得到一个异常: - NHibernate.MappingException:关联引用未映射的类:BaseClass

如果我使用IncludeBase(typeof(BaseClass))包含基类,那么它工作正常,但它为BaseClass和Derived类创建一个表,并且记录与FK-PK关系(每个子类的表 …

nhibernate abstract-class fluent-nhibernate automapping table-per-class

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

使用 docker stack 进行卷挂载

以下是我的 docker-stack 文件。

\n\n
version: "3"\nservices:\n  my-app:    \n    image: my-image:latest    \n    volumes:\n      - ./certs:/certs   \n    ports:\n      - 6401:6401\n    networks:\n      my-net:        \n         ipv4_address: 192.168.0.4\nnetworks:\n  my-net:\n    external: true\n
Run Code Online (Sandbox Code Playgroud)\n\n

它在我的机器上运行良好,将证书文件夹绑定到容器内的证书。但是在我的 CI 管道中不起作用,我在 docker-stack-node 映像中部署此服务。我得到的错误是

\n\n
\n

“bind”类型的安装配置无效:绑定安装源路径\n不存在。

\n
\n\n

我读到,如果将主机路径绑定安装到 service\xe2\x80\x99s 容器中,则该路径必须存在于每个 swarm 节点上。所以,我想我需要创建一个命名卷。但是,对于指定卷,我无法指定证书的源路径。这很令人困惑。有人可以帮忙吗?

\n

docker docker-compose docker-swarm docker-stack

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

在nodejs中的swagger.yaml中使用env变量

试图弄清楚如何访问 swagger.yaml 配置文件中的 env 变量。可以使用 nodejs 应用程序内部访问该变量process.env.VARNAME。我想在 swagger.yaml 文件中使用相同的变量。就像是

definations: 
     myvariabledetail: "${process.env.VARNAME}"
Run Code Online (Sandbox Code Playgroud)

。我已经尝试过不同的组合,包括"${process.env.VARNAME}"${process.env.VARNAME}${VARNAME}

yaml github node.js swagger

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