Question: Why is this error happening when I save?

Model:

```
public class SingleEmail
    {
        [Key]
        public int MailID{get;set;}
        public string ToAddress{get;set;}
        public string Subject{get;set;}
        public string Body{get;set;}
    }

    public class MyDBContext : DbContext
    {

        public DbSet<SingleEmail> SingleEmail{get;set;}

    }

using (MyDBContext db = new MyDBContext())
{
    SingleEmail m = new SingleEmail();
    m.ToAddress = email.To[0].Address;
    m.Subject = email.Subject;
    m.Body = email.Body;

    db.SingleEmail.Add(m);
    db.SaveChanges();

}
            {

```

> 
> An error occurred while updating the
>  entries. See the inner exception for
>  details.;
> 
> 
> 
> ```
>     Invalid object name 'dbo.SingleEmails'.;
> 
> ```
> 
>

Answer: 
Using `Shmop`:

> 
> Shmop is an easy to use set of functions that allows PHP to read,
>  write, create and delete Unix shared memory segments.
> 
> 
> 

from: <http://www.php.net/manual/en/intro.shmop.php>

*No external libraries are needed to build this extension.*

**The shared Memory Functions**

* shmop\_close — Close
* shared memory block
* shmop\_delete — Delete shared memory block
* shmop\_open — Create or open shared memory block
* shmop\_read — Read data from shared memory block
* shmop\_size — Get size of shared memory block
* shmop\_write — Write data into shared memory block

**Basic usage**

```
// Create 100 byte shared memory block with system id of 0xff3
$shm_id = shmop_open(0xff3, "c", 0644, 100);
if (!$shm_id) {
    echo "Couldn't create shared memory segment\n";
}

// Get shared memory block's size
$shm_size = shmop_size($shm_id);
echo "SHM Block Size: " . $shm_size . " has been created.\n";

// Lets write a test string into shared memory
$shm_bytes_written = shmop_write($shm_id, "my shared memory block", 0);
if ($shm_bytes_written != strlen("my shared memory block")) {
    echo "Couldn't write the entire length of data\n";
}

// Now lets read the string back
$my_string = shmop_read($shm_id, 0, $shm_size);
if (!$my_string) {
    echo "Couldn't read from shared memory block\n";
}
echo "The data inside shared memory was: " . $my_string . "\n";

//Now lets delete the block and close the shared memory segment
if (!shmop_delete($shm_id)) {
    echo "Couldn't mark shared memory block for deletion.";
}
shmop_close($shm_id);

```
By default its simply not possible. Every solution will always copy the content into the current scope, because if not, there is no way to access it.

I dont know, what exactly want to do, but maybe you can do that "outside", for example as a [gearman](http://gearman.org/) job, and then just catch the results of the process, instead of the whole array.

You can also think about splitting the "big" array into slices and then always retrieve the part you currently need from an apc or memcached.