EF: Integer auto increment primary key


EF: Integer auto increment primary key



Previously I have been working only with MySQL databases, it was quite a standard to use auto increment integer settings for the id fields.


id



Trying Entity Framework with SQLite database, I have noticed that EF is using a Guid structure identifiers by default and therefore requires string for such fields. In the result, we have a identifier looking like that:


SQLite


Guid


string



a75d9d3d-6543-44fe-9fb8-f19f411503e5


a75d9d3d-6543-44fe-9fb8-f19f411503e5


public class AccountDataModel
{
/// <summary>
/// The unique Id
/// </summary>
public string Id { get; set; }

[...]
}



Two questions:




2 Answers
2



Simply change


public string Id { get; set; }



to


public int Id { get; set; }



and should change your Identity column type int with seed as 1. Use EF migrations to see the code generated for creating tables, keys and relationships.



If you want Id to be int then you should use type int and not string.


public int Id { get; set; }



And for Guid you would use type Guid.
Type string is rarely used for Id column.






By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Popular posts from this blog

How to add background colour in existing image using Swift?

Moria Casán

How to make file upload 'Required' in Contact Form 7?