2016-08-27 15 views
0

サンプルのToDoItemアプリケーションを修正して、私のアプリケーションにAzure Mobile Appサービスを接続しました。私はほとんどのステップをゆっくりと作り直していました。Azure Mobile Appクエリ - 悪い要求

Where句を使用した1つのクエリで困惑しています。私はどこで句を使用しているのか他のクエリを持っていますが、何らかの理由でこれが機能しません。私はタイプが基底のデータベーステーブルからバックエンドクラスまで、フロントエンドクラスまで一致するかどうかチェックしました。私は何も明らかではありません。私のフロントエンドクラスにはJSONプロパティタイプがありません。残りのものが必須であるかどうかは、それがなくても動作しているかどうかは不明です。ここで

は、「不正な要求」ここ

string _test = txtEmail.Text; 
    var _userlist = await userTable 
         .Where(User => User.eMail == _test) 
         .ToCollectionAsync(); 

を返すのWHERE句である私のフロントエンドクラスです。

public class User 
    { 
     private IMobileServiceTable<User> userTable = App.MobileService.GetTable<User>(); 
     private ApplicationDataContainer localSettings; 

     // 
     public string Id { get; set; } 
     public string UserID { get; set; } 
     public string UserName { get; set; } 
     public string FirstName { get; set; } 
     public string LastName { get; set; } 
     public bool DefaultUser { get; set; } 
     public string eMail { get; set; } 
     public bool LocationPermission { get; set; } 
     public bool CloudPermission { get; set; } 

     public User() 
     { 
     Guid _id = Guid.NewGuid(); 
     UserID = _id.ToString(); 
     }//constructor 

そして、私のテーブルスキーマ。

[Id]     NVARCHAR (128)  DEFAULT (newid()) NOT NULL, 
    [UserID]    NVARCHAR (MAX)  NULL, 
    [UserName]   NVARCHAR (MAX)  NULL, 
    [FirstName]   NVARCHAR (MAX)  NULL, 
    [LastName]   NVARCHAR (MAX)  NULL, 
    [DefaultUser]  BIT    NOT NULL, 
    [eMail]    NVARCHAR (MAX)  NULL, 
    [LocationPermission] BIT    NOT NULL, 
    [CloudPermission] BIT    NOT NULL, 
    [Version]   ROWVERSION   NOT NULL, 
    [CreatedAt]   DATETIMEOFFSET (7) DEFAULT (sysutcdatetime()) NOT NULL, 
    [UpdatedAt]   DATETIMEOFFSET (7) NULL, 
    [Deleted]   BIT    NOT NULL, 
    CONSTRAINT [PK_dbo.Users] PRIMARY KEY NONCLUSTERED ([Id] ASC) 

誰かが私を正しい方向に向けるのを助けてくれることを願っています。

おかげ

ニック

+0

私は実際に他の列にwhere句を試しました。例えば。 FirstName - それは正常に動作します!他のすべての列をeMailではなく動作させることができます。 –

+0

私はもっと知りました。 Azureサービスのログをオンにしました。実際のエラーです。バックエンドコードがなぜそれをしているのかわからない、大文字のEで、「EMail」を探しているところです。それは正しく見える。 Buffer = "{" message ":" URIで指定されたクエリは無効です。タイプ 'MyVinylServiceService.DataObjects.User'で 'EMail'という名前のプロパティを見つけることができませんでした。 "}" –

答えて

0

OK - 私はこれを解決したと思うが、実際には、なぜわかりません。 eMail属性は小文字の開始を持つ唯一のものでした。私はそれをEMailに変更し、すべてうまくいった。理由はわかりませんが、Entity Frameworkに何かがあるかもしれません。

関連する問題