我正在尝试使用Subsonic3中的SimpleRepository功能--首先,我必须对RobC说声谢谢-- Subsonic真的很棒,我迫不及待地想看到SimpleRepository的更多更新。我是迁移方法的铁杆粉丝(开发人员/类驱动,而不是从数据库开始)。
我已经看了这里的帖子:Parent and Child object in SimpleRepository,但我仍然有点困惑。
如果我已经定义了这些类:
public class Permit {
public int PermitID {get; set;}
public string Number { get; set; }
public DateTime? DateIssued { get; set; }
public Product product { get; set; }
}
public class Product
{
public int ProductID { get; set; }
public string Value { get; set; }
}然后我想为许可证保存数据,我应该怎么做?我是否应该在Permit类中定义一个ProductID,然后以编程方式将它们链接起来?或者,下面的代码应该有效吗?
var repo = new SimpleRepository("ECPermit", SimpleRepositoryOptions.RunMigrations);
var permit = new Permit();
var product = new Product();
permit.Number = "apermit";
permit.DateAdded = DateTime.Now;
product.Value = "this is a product";
repo.Add(permit);
permit.product = product;
repo.Add(product);这是在创建Permit和Product表,但它们之间没有链接。我做错了什么?谢谢
发布于 2009-09-17 11:18:12
这里需要注意的是,关系是通过填充外部键值来创建的。因此,您在示例中所做的是创建一个许可证并保存它,然后设置许可证的ProductID (但不保存此信息),然后保存产品。如果您按如下方式对代码进行重新排序,则ProductID将被正确设置:
var repo = new SimpleRepository("ECPermit", SimpleRepositoryOptions.RunMigrations);
var permit = new Permit();
var product = new Product();
product.Value = "this is a product";
repo.Add(product);
permit.Number = "apermit";
permit.DateAdded = DateTime.Now;
permit.ProductId = product.Id;
repo.Add(permit);https://stackoverflow.com/questions/1438000
复制相似问题