我有这些表格:
创建表品牌 ( ID int identity(1,1), 名称varchar(100)非null唯一, 主键群集(ID) )
创建表格产品 ( ID int identity(1,1), 名称varchar(100)不为null, BrandID int非null引用品牌(ID) )
我在c#中有各自的实体,即Brand实体有一个int ID和一个String Name,而Product实体有int ID,string Name,Brand Brand。
如何定义映射,以便在创建新的Product模型时,设置其名称,并在其名称上设置新的Brand模型,当我调用ISession.SaveOrUpdate时,它将首先使用品牌名称检查是否那条记录存在吗?如果我将Brand上的ID设置为标识,即使名称已经存在,它也会尝试插入记录,因为我没有明确检查记录是否存在。如果我将名称设置为标识,那么它不会认为它需要在第一时间插入。我可以事先明确检查品牌是否存在,但我正在寻找一种可以自动执行此操作的映射。有些东西允许我指定品牌的身份应该通过其名称进行验证,但是0 ID表示它的新名称。
答案 0 :(得分:1)
这不能通过映射完成,因为它不是映射问题。