如果要删除用户,我想确保删除某些实体,因此我将其模型设置为与OrmLite一起使用:
public class UserProcess
{
[AutoIncrement]
public int Id { get; set; }
[ForeignKey(typeof(UserAuth), OnDelete = "CASCADE")]
public string UserAuthId { get; set; }
// ... Other properties
}
这可行,但是由于UserAuth
包中未定义ServiceStack.Interfaces
,因此我需要将ServiceStack nuget包添加到ServiceModel项目中。
我不希望不向类库添加依赖项。有更好的方法吗?
答案 0 :(得分:2)
您可以在启动时动态添加属性,例如:
typeof(UserProcess)
.AddAttributes(new ForeignKeyAttribute {...});
或在创建表后手动创建外键,也可以在创建表后使用[PostCreateTable] attribute to execute custom SQL。
另一种方法是创建一个没有任何依赖性的单独的DTO,然后使用AutoMapping Utils复制属性。