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);

```
Edit:  

You are probably using shared memory wrong way.  

Your shared memory itself being such array. So you have to store **separate multilanguage strings** directly in shared memory, not big array with them.  

and then only pull strings, required on particular page.  

that's all. 

In general, to process some data, a program have to "duplicate" it, by storing it in a variable.  

That's what variables are for - to store (or "duplicate") some outside data.  

For example, if you have some user info in your database, to display a username on a web page you have to "duplicate" this data, storing it in PHP variable first.  

And so on. 

You are first who thinks that such approach needs to be changed.