나는 일반 EF 방법에 대해 생각하기 시작했습니다, 그리고 내가 게시 것으로 나타났습니다 http://blog.damianbrady.com.au/2012/03/07/a-generic-crud-repository-for-entity-framework/일반 엔티티 프레임 워크와 된 IQueryable <T>
코드 조각 : 지금
protected Dictionary<string, object> CachedObjects = new Dictionary<string, object>();
protected ObjectSet<TEntity> GetObjectSet<TEntity>() where TEntity : EntityObject
{
var fulltypename = typeof(TEntity).AssemblyQualifiedName;
if (fulltypename == null)
throw new ArgumentException("Invalid Type passed to GetObjectSet!");
if (!CachedObjects.ContainsKey(fulltypename))
{
var objectset = base.CreateObjectSet<TEntity>();
CachedObjects.Add(fulltypename, objectset);
}
return CachedObjects[fulltypename] as ObjectSet<TEntity>;
}
...
public TEntity GetFirstOrDefault<TEntity>(Func<TEntity, bool> predicate) where TEntity : EntityObject
{
return GetObjectSet<TEntity>().FirstOrDefault(predicate);
}
하고, 그 두 줄 경우 코드가 동일합니까?
adapter.db.GetFirstOrDefault<MyTable>(x => x.ID == 1);
adapter.db.MyTable.FirstOrDefault(x => x.ID == 1);
나는 모든 항목을 메모리에로드하고 일부 필터링을 수행하지 않으므로 묻습니다. 해당 일반 작업을 IQueryable<T>
과 같이 만들 수있는 방법이 있습니까?
무엇이'adapter.db'입니까? 'adapter.db.MyTable'은 무엇입니까? –