开发者

problem custom primary key name

I have an existing database and im having trouble using my table primary key "useridPK". I'd like to use the default "ID" as an alias of my useridPK.

My models are setup like this:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Linq.Mapping;
using System.Data.Linq; 
using System.Data.Entity;
using System.Diagnostics; 

namespace myPROJECT.Models
{
    [Table(Name="AskUsers")]
    public class AskUser
    {
        [Column(Name="useridPK",IsPrimaryKey=true,IsDbGenerated=true)]
        public Int32 ID { get; private set; }
        [Column]
        public int roleidFK { get; set; }
        [Column]
        public string username { get; set; }
        [Column]
        public string password { get; set; }
        [Column]
        public DateTime datecreated { get; set; }
        [Column]
        public string firstname { get; set; }
        [Column]
        public string lastname { get; set; }
    }

    public class myPROJECT_DBContext : DbContext
    {
        public DbSet<AskUser> AskUsers { get; set; }

    }
}

It gives the error:

Exception Details: System.Data.SqlClient.SqlException: Invalid column name 'ID'.

My controller code:

public ActionResult Stuff()
{
    var uu = from x in db.AskUsers
开发者_JAVA技巧             select x;
    return View(uu.ToList());
}

I'm not really sure if this part:

[Column(Name="useridPK",IsPrimaryKey=true,IsDbGenerated=true)]

is deprecated in MVC3?

Thanks a lot :)


According to this article: http://blogs.msdn.com/b/adonet/archive/2010/12/06/ef-feature-ctp5-released.aspx

EF Feature CTP5 Released! 6 Dec 2010 9:00 PM

The full list of data annotations supported in CTP5 is;

ColumnAttribute : Placed on a property to specify the column name, ordinal & data type

If you are using a pre-CTP5 version of EF, perhaps ColumnAttribute is not supported in that version.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜