Skip to content

Instantly share code, notes, and snippets.

@zhangw
Created December 10, 2012 06:37
Show Gist options
  • Select an option

  • Save zhangw/4248837 to your computer and use it in GitHub Desktop.

Select an option

Save zhangw/4248837 to your computer and use it in GitHub Desktop.
using System;
using System.Collections.Generic;
using System.Data.Objects;
using System.Linq;
namespace TestCoreService
{
public class FackIObjectSet<T> : IObjectSet<T>
where T : class
{
private HashSet<T> _data;
private IQueryable _query;
public FackIObjectSet()
{
_data = new HashSet<T>();
_query = _data.AsQueryable();
}
public void AddObject(T item)
{
_data.Add(item);
}
public void DeleteObject(T item)
{
_data.Remove(item);
}
public void Add(T item)
{
_data.Add(item);
}
public void Remove(T item)
{
_data.Remove(item);
}
public void Attach(T item)
{
_data.Add(item);
}
public void Detach(T item)
{
_data.Remove(item);
}
Type IQueryable.ElementType
{
get { return _query.ElementType; }
}
System.Linq.Expressions.Expression IQueryable.Expression
{
get { return _query.Expression; }
}
IQueryProvider IQueryable.Provider
{
get { return _query.Provider; }
}
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
return _data.GetEnumerator();
}
IEnumerator<T> IEnumerable<T>.GetEnumerator()
{
return _data.GetEnumerator();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment