How to get around "Internal .NET Framework Data Provider error 1025."?
I am using the Entity Framework 4.3, POCO, database first and I am getting the following error:

**Internal .NET Framework Data Provider error 1025.**

QUESTION:  *I think that my query expresses my intent but I seem to be hitting this error, so I am wondering if anyone knows how I could structure my query differently to get around this error?*


Here is the scenario...

I have a SQL server 2008 database that has 2 tables - A and B:

**A**

 - AId (int - not null - identity - primary key)
 - AName (nvarchar(10) - not null)

**B**

 - BId (int - not null - identity - primary key)
 - SomeName (nvarchar(10= - not null)
 - AId (int - not null - foreign key connecting to AId in the table A)

I then define the context like so:

    public class DatabaseContext : DbContext
    {
        public DatabaseContext(string name)
            : base(name)
        {
            Configuration.AutoDetectChangesEnabled = false;
            As = Set<A>();
            Bs = Set<B>();
        }

        public DbSet<A> As { get; private set; }
        public DbSet<B> Bs { get; private set; }
    }

And the entity classes like so:

    public class A
    {
        public int AId { get; set; }
        public string AName { get; set; }
        public virtual ICollection<B> Bs { get; private set; }

        public void AddB(B b)
        {
            if (b == null)
            {
                throw new ArgumentNullException("b");
            }

            if (Bs == null)
            {
                Bs = new List<B>();
            }

            if (!Bs.Contains(b))
            {
                Bs.Add(b);
            }

            b.A = this;
        }
    }

    public class B
    {
        public int BId { get; set; }
        public A A { get; set; }
        public string SomeName { get; set; }
    }


Now for the query...

What I want is all of the As where every "B SomeName" is in the list of names supplied so I do this:

    var names = new[] {"Name1", "Name2"};

    var ctx = new DatabaseContext("EFPlayingEntities");
    var res = ctx.As.Where(a => a.Bs.Select(b => b.SomeName).All(names.Contains));

    // Here I evaluate the query and I get:
    //   Internal .NET Framework Data Provider error 1025.
    Console.WriteLine(res.Count());

To be clear about what I mean, if the table data looks like this:

    AId,AName
    1,A1
    2,A2
    3,A3
    4,A4

    BId,SomeName,AId
    1,Name1,1
    2,Name2,1
    3,Name1,2
    4,Name1,3
    5,Name3,3
    6,Name1,4
    7,Name2,4

I would expect to get back A1, A2 and A4 (so that count call above would return 3).
How to get around "Internal .NET Framework Data Provider error 1025."?
===

I am using the Entity Framework 4.3, POCO, database first and I am getting the following error:

**Internal .NET Framework Data Provider error 1025.**

QUESTION:  *I think that my query expresses my intent but I seem to be hitting this error, so I am wondering if anyone knows how I could structure my query differently to get around this error?*


Here is the scenario...

I have a SQL server 2008 database that has 2 tables - A and B:

**A**

 - AId (int - not null - identity - primary key)
 - AName (nvarchar(10) - not null)

**B**

 - BId (int - not null - identity - primary key)
 - SomeName (nvarchar(10= - not null)
 - AId (int - not null - foreign key connecting to AId in the table A)

I then define the context like so:

    public class DatabaseContext : DbContext
    {
        public DatabaseContext(string name)
            : base(name)
        {
            Configuration.AutoDetectChangesEnabled = false;
            As = Set<A>();
            Bs = Set<B>();
        }

        public DbSet<A> As { get; private set; }
        public DbSet<B> Bs { get; private set; }
    }

And the entity classes like so:

    public class A
    {
        public int AId { get; set; }
        public string AName { get; set; }
        public virtual ICollection<B> Bs { get; private set; }

        public void AddB(B b)
        {
            if (b == null)
            {
                throw new ArgumentNullException("b");
            }

            if (Bs == null)
            {
                Bs = new List<B>();
            }

            if (!Bs.Contains(b))
            {
                Bs.Add(b);
            }

            b.A = this;
        }
    }

    public class B
    {
        public int BId { get; set; }
        public A A { get; set; }
        public string SomeName { get; set; }
    }


Now for the query...

What I want is all of the As where every "B SomeName" is in the list of names supplied so I do this:

    var names = new[] {"Name1", "Name2"};

    var ctx = new DatabaseContext("EFPlayingEntities");
    var res = ctx.As.Where(a => a.Bs.Select(b => b.SomeName).All(names.Contains));

    // Here I evaluate the query and I get:
    //   Internal .NET Framework Data Provider error 1025.
    Console.WriteLine(res.Count());

To be clear about what I mean, if the table data looks like this:

    AId,AName
    1,A1
    2,A2
    3,A3
    4,A4

    BId,SomeName,AId
    1,Name1,1
    2,Name2,1
    3,Name1,2
    4,Name1,3
    5,Name3,3
    6,Name1,4
    7,Name2,4

I would expect to get back A1, A2 and A4 (so that count call above would return 3).