サンプルの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)
誰かが私を正しい方向に向けるのを助けてくれることを願っています。
おかげ
ニック
私は実際に他の列にwhere句を試しました。例えば。 FirstName - それは正常に動作します!他のすべての列をeMailではなく動作させることができます。 –
私はもっと知りました。 Azureサービスのログをオンにしました。実際のエラーです。バックエンドコードがなぜそれをしているのかわからない、大文字のEで、「EMail」を探しているところです。それは正しく見える。 Buffer = "{" message ":" URIで指定されたクエリは無効です。タイプ 'MyVinylServiceService.DataObjects.User'で 'EMail'という名前のプロパティを見つけることができませんでした。 "}" –