find a location for property in a new city

Wednesday 21 April 2010

LINQ to SQL - Null value cannot be assigned to a member with type System.Int64 which is a non-nullable value type

I am attempting an InsertOnSubmit and it is failing since "The null value cannot be assigned to a member with type System.Int64 which is a non-nullable value type" This LINQ to SQL is driving me crazy. Please help.

The table in the SQL database has a MessageID column which is a BigInt with primary key (NOT NULL IDENTITY 1 1) no Default.

The field looks like this in the designer file to the dbml:
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MessageId", AutoSync=AutoSync.OnInsert, DbType="BigInt NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)] 
public long MessageId 
{ 
    get 
    { 
        return this._MessageId; 
    } 
    set 
    { 
        if ((this._MessageId != value)) 
        { 
            this.OnMessageIdChanging(value); 
            this.SendPropertyChanging(); 
            this._MessageId = value; 
            this.SendPropertyChanged("MessageId"); 
            this.OnMessageIdChanged(); 
        } 
    } 
}

So the problem is that null cannot be assigned... right. But I'm not passing null! How can I be? I'm using a long (a value type so can't be null by nature).

One workaround I found was making this field nullable but this feels like a hack since it should never be null. Anyway this just moves the problem to the ID not AutoSyncing OnInsert. (AutoSync=OnInsert is set).

Update and solution

Well it took me a while, I even posted on stackoverflow to no avail but finally worked out the problem and wrote about it in this post about optimistic concurrency exceptions on insert although by this time it has manifested itself in a new way since I'm using Entity Framework.

Follow britishdev on Twitter

11 comments:

  1. Great blog. Thank you! I put your feed on my RSS reader!
    Thesis Writing

    ReplyDelete
  2. Very interesting posts, it is really informative to read these posts Keep posting.

    Affordable Essay Writing Services UK | UKEssayPapers

    ReplyDelete
  3. Such an interesting blog. Thank you for sharing such post. visit my website to see my works.

    ReplyDelete
  4. Such a nice blog and I appreciate your all efforts about your thoughts. it’s really good work. well done. I would like to share something really helpful for education.
    coursework writing service

    ReplyDelete
  5. When I Install a sendy in my database, its show me lots of error sometime it crypt my database so some of tips it's helpful for me and its clear my concept.
    Online coursework help uk

    ReplyDelete
  6. Helpful material for audience. Lets check the women fashion by Baroque

    ReplyDelete
  7. This comment has been removed by the author.

    ReplyDelete
  8. Your blog is awesome. You can download the Kyte TV app for free

    ReplyDelete
  9. If you are looking for the best hp laptop under 20000 in Pakistan so you must visit this link Best hp Laptop Under 20000

    ReplyDelete
  10. Vieni sul sito Web suonerie per trovare le migliori suonerie di canzoni oggi.

    ReplyDelete