无法确定Azure Mobile服务DataObject中类型的复合主键排序

时间:2017-04-04 16:11:33

标签: c# mysql wordpress azure azure-mobile-services

我有Azure Mobile Service从单个(只需要这个表格的数据)wordpress wp_posts表中获取数据。

在模型类中,我为[Key]定义了Primary Key。表PK只有一个wp_posts,但我收到了错误 -

  

无法确定类型

的复合主键排序

我需要针对表composite key定义正确的wp_posts吗?有人能找到方法吗?

wp_posts.cs

[Table("wp_posts")]
public class wp_posts: EntityData
{
    [Key]
    [Column("ID")]
    public int ID { get; set; }    
    public int post_author { get; set; }    
    public DateTime post_date { get; set; }    
    public DateTime post_date_gmt { get; set; }    
    public string post_content { get; set; }    
    public string post_title { get; set; }
    public string post_excerpt { get; set; }
    public string post_status { get; set; }    
    public string comment_status { get; set; }
    public string ping_status { get; set; }    
    public string post_password { get; set; }    
    public string post_name { get; set; }    
    public string to_ping { get; set; }
    public string pinged { get; set; }
    public DateTime post_modified { get; set; }    
    public DateTime post_modified_gmt { get; set; }
    public string post_content_filtered { get; set; }    
    public int post_parent { get; set; }
    public string guid { get; set; }
    public int menu_order { get; set; }
    public string post_type { get; set; }    
    public string post_mime_type { get; set; }    
    public int comment_count { get; set; }
}

表Strucutre wordpress mySQL数据库。

Table: wp_posts
    Field   Type    Null    Key Default Extra
    ID  bigint(20) unsigned     PRI & IND Pt4       auto_increment
    post_author bigint(20) unsigned     IND 0    
    post_date   datetime        IND Pt3 0000-00-00 00:00:00  
    post_date_gmt   datetime            0000-00-00 00:00:00  
    post_content    longtext                 
    post_title  text                 
    post_excerpt    text                 
    post_status varchar(20)     IND PT2 publish  
    comment_status  varchar(20)         open     
    ping_status varchar(20)         open     
    post_password   varchar(20)              
    post_name   varchar(200)        IND      
    to_ping text                 
    pinged  text                 
    post_modified   datetime            0000-00-00 00:00:00  
    post_modified_gmt   datetime            0000-00-00 00:00:00  
    post_content_filtered   longtext                
    post_parent bigint(20) unsigned     IND 0    
    guid    varchar(255)                 
    menu_order  int(11)         0    
    post_type   varchar(20)     IND Pt1 post     
    post_mime_type  varchar(100)                 
    comment_count   bigint(20)          0    
    Indexes

    Keyname Type    Field
    PRIMARY PRIMARY ID
    post_name   INDEX   post_name
    type_status_date    INDEX   post_type
    post_status
    post_date
    ID
    post_parent INDEX   post_parent
    post_author INDEX   post_author

1 个答案:

答案 0 :(得分:1)

Azure移动应用程序对表有一些相当严格的要求,因此可以用于脱机同步。有关详细信息,请参阅http://aka.ms/zumobook的第3章。

此表不符合这些要求。具体来说,ID不是字符串,没有updatedAt或版本字段。如果您正在进行软删除(在移动应用程序中,您需要),那么您还需要一个已删除的字段。

查看EntityData class - 您会注意到ID字段已经定义,并且是您的替代定义。