我一直试图在项目中使用Subsonic Advanced Templates一段时间,但大多数时候我发现自己编写了一个存储过程,因为我找不到在代码中执行此操作的正确方法。
Subsonic为我的数据库表创建了相应的对象,对于外键,它在每个对象中创建了IQueryable字段。默认情况下不加载这些字段,并在访问它们时执行新的SQL查询。
1-有没有办法在一个查询中获取所有数据(深度加载)?
此外,无法分配这些字段。因此,当我想在维护页面中创建一个对象时,我无法将所有数据放入此对象,然后将其保存在DB中:
Post post = new Post();
//get photos for this post
IList<PostPhoto> postPhotos = GetPostPhotos();
post.PostPhotos = postPhotos;
2-是否可以让一个Post对象包含从用户输入设置的所有字段?
想想上面的Post对象,并假设我已经成功分配了它的字段。现在我需要将它保存到数据库中。
3-使用BatchQuery是在一个查询中执行此操作的唯一方法吗?如果我在PostPhotos领域有4张照片;其中2个以前保存过,其中2个是新的,我可以使用Update方法处理这些照片的添加和更新吗?
任何想法或链接都表示赞赏。
干杯...