1

First I'll show you what I do, and that there is. My project in ASP.NET MVC 3.

This is model for table Business.

[Table("Business")]
public class Business
{
    [Key]
    public long? BusinessId { get; set; }

    public Int32 LegalTypeId { get; set; }
    public Int16 BusinessTypeId { get; set; }
    public Int64 OwnerId { get; set; }
    public Int32 MainIndustryFieldId { get; set; }
    public String NameNative { get; set; }
    public String NameEnglish { get; set; }
    public Byte[] Logo { get; set; }
    public DateTime CreateDate { get; set; }

    public virtual User Owner { get; set; }//It is Forign key with user table
}

[Table("User")]
public class User
{
    [Key]
    public Int64 UserId { get; set; }

    public String UserName { get; set; }
    public String LoweredUserName { get; set; }
    public String FirstName { get; set; }
    public String LastName { get; set; }
    public String Email { get; set; }
    public String LoweredEmail { get; set; }
    public String Password { get; set; }
    public String PasswordSalt { get; set; }
    public String PasswordQuestion { get; set; }
    public String PasswordAnswer { get; set; }
    public Boolean IsApproved { get; set; }
    public Boolean IsLocked { get; set; }
    public DateTime LastActivityDate { get; set; }
    public DateTime LastLoginDate { get; set; }
    public DateTime CreateDate { get; set; }

    public virtual Business Bussines { get; set; }
}

when I want to add information:

user.Business = new Business
{
    OwnerId = user.UserId,
    LegalTypeId = business.LegalTypeId,
    BusinessTypeId = business.BusinessTypeId,
    MainIndustryFieldId = business.MainIndustryFieldId,
    NameNative = business.NameNative,
    NameEnglish = business.NameEnglish,
    Logo = business.Logo,
    CreateDate = DateTime.Now
};
ctx.SaveChanges();

I get the following error:

Cannot insert explicit value for identity column in table 'Business' when IDENTITY_INSERT is set to OFF.

In database column identity specification business chose is Identity Yes.

Somebody can tell what to do.

3 Answers 3

1

Can you make sure that in your EDMX model, your BusinessId is set to be handled by the database (property StoreGeneratedPattern = Identity)?? Also: why is your primary key nullable (long?) - makes no sense whatsoever. Your primary key must never be null !

enter image description here

Sign up to request clarification or add additional context in comments.

Comments

0

BusinessId can not be empty/null since you have not specified that it should be autogenerated by Sql Server (which Identity means).

Since you are using Code First to generate your database, just change to:

[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long? BusinessId { get; set; }

2 Comments

A dependent property in a ReferentialConstraint is mapped to a store-generated column. Column: 'BusinessId'
0

override OnModelCreating in DbContext and add in it following Fluent API:

modelBuilder.Entity<Business>().HasRequired(m => m.Address).WithRequiredPrincipal(m => m.Business).WillCascadeOnDelete(true);

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.