gpt4 book ai didi

c# - 通过业务逻辑初始化 Linq to Sql 对象

转载 作者:行者123 更新时间:2023-12-02 15:04:02 26 4
gpt4 key购买 nike

我想扩展 Linq To Sql 生成的类,以在创建新对象(=行)时进行初始化。

我想在创建父行时向子表添加行。

我希望使用 Oncreated (部分)方法做这样的事情:

partial class Product {
partial void OnCreated() {
// Fill default rows for FK relations
this.Columns.Add(new ProductColumn {
Name = "Name", ColumnType = 1
});
this.Columns.Add(new ProductColumn {
Name = "Producer", ColumnType = 2
});
}
}

每次构造函数都会调用 OnCreated。如果在调用 OnCreated 之后从数据库加载对象也是如此。而如果对象是从数据库加载的,则不想执行代码。

那么我可以在哪里向模型添加逻辑来初始化对象(-graph)?

最佳答案

Linq to SQL 生成的类中没有内置方法。当从数据库调用时,它们专门调用 OnLoaded,但当不是从数据库调用时,它们不会调用任何内容。我怀疑是因为没有办法确定......

我建议使用 Chris 建议的工厂方法。

关于c# - 通过业务逻辑初始化 Linq to Sql 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/689241/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com