- 使用Linq实现sql in statement的时候,用EF的时候可以通过Contains、Exists的方法实现。但是在使用WCF Data Service的context的时候,会报不支持该方法的错误。解决方案就是加上AsEnumerable()。
var products = from p in ctx.V_Product.AsEnumerable() where catalogs.Exists(c => c.CatalogID == p.CatalogID) select p
- 主从表级联操作的时候,需要建好外键关系。调用ctx.SaveChanges的时候使用带参数的方法重载。
ctx.SaveChanges(System.Data.Services.Client.SaveChangesOptions.Batch)
这样就可以主表的自增长的ID,会保存到从表外键字段里去;并且主从表数据批量(带事务)的提交。
- 版本问题,用WCF Data Service5.6的时候,EF用6.0始终会报错,没有细究原因,换成EF5.0就没有问题了。
时间: 2024-10-29 19:06:49