我计划将 Contrib 与 dapper 一起使用,使我在桌面应用程序中的类看起来像这样
public abstract class DB : IDisposable
{
public virtual long Insert()
{
using (var db = ConFactory.GetConnection())
{
db.Open();
return db.Insert(this);
}
}
// ... and other CRUD operations
}
那么任何 Concept 类都将继承自 DB 类;像这样
[Table("test")]
public class Test : DB
{
[Key]
public int TestId { get; set; }
public string Name { get; set; }
}
使用测试类
using (Test t = new Test { Name = textBox2.Text })
{
textBox1.Text = t.Insert().ToString();
}
这个样本总是失败并给了我
“)”附近的 SQL 逻辑错误:语法错误
但是当我Insert()
在子类中实现方法时效果很好!问题是:我的代码包含很多类,重写所有 CUD 操作是如此令人不安,有什么想法可以用更少的代码解决这个问题吗?