次のようなリポジトリを使用してみてください。
public class Repository<T> : IRepository<T> where T : class
{
protected DbSet<T> DbSet;
public Repository(DbContext dataContext)
{
DbSet = dataContext.Set<T>();
}
#region IRepository<T> Members
public void Insert(T entity)
{
DbSet.Add(entity);
}
public void Delete(T entity)
{
DbSet.Remove(entity);
}
public IQueryable<T> SearchFor(Expression<Func<T, bool>> predicate)
{
return DbSet.Where(predicate);
}
public IQueryable<T> GetAll()
{
return DbSet;
}
public T GetById(int id)
{
return DbSet.Find(id);
}
#endregion
}
また、Adress の新しいインスタンスが必要な場合は、リポジトリを呼び出してこれを実行してください。
var adressRepository = new Repository<Adress>(yourDataContext);
AddressRepository で次のようにします。
adressRepository.Insert(yourAdressObject)
最後に、コンテキストの SaveChanges を呼び出します。
yourDataContext.SaveChanges();