gpt4 book ai didi

web-services - 从 Windows Phone 访问 Windows Azure DB 时出现服务错误

转载 作者:行者123 更新时间:2023-12-02 07:32:27 24 4
gpt4 key购买 nike

收到错误:

EntitySet“User”未在 EntityContainer“festDBEntities”中定义。接近简单标识符,第 1 行,第 46 列。

我的应用程序代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using FestCloud.festDBService;

namespace FestCloud
{
public partial class MainPage : PhoneApplicationPage
{
private Service1Client _serviceClient;

// Constructor
public MainPage()
{
InitializeComponent();
_serviceClient = new Service1Client();
_serviceClient.LoginUserCompleted += new EventHandler<LoginUserCompletedEventArgs>(_serviceClient_LoginUserCompleted);
}

void _serviceClient_LoginUserCompleted(object sender, LoginUserCompletedEventArgs e)
{
if ((e.Error == null) && (e.Result != null))
{
MessageBox.Show("Welcome " + e.Result + " !");
}
else
{
MessageBox.Show("Could not log in. Please check user name/password and try again.");
}
}

private void logInButton_Click(object sender, RoutedEventArgs e)
{
_serviceClient.LoginUserAsync(userNameTextBox.Text, passwordTextBox.Text);
}

private void newAccountButton_Click(object sender, RoutedEventArgs e)
{
NavigationService.Navigate(new Uri("/Register.xaml", UriKind.Relative));
}
}
}

和我的服务代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using System.Data.Objects;

namespace CloudServiceRole
{
// NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Service1" in code, svc and config file together.
public class Service1 : IService1
{
public void AddUser(string userName, string password)
{
using (var context = new festDBEntities())
{
context.AddToUsers(new User()
{
UserName = userName,
Password = password,

});
context.SaveChanges();
}
}

public string LoginUser(string username, string password)
{
string query = @"SELECT value User.UserName FROM festDBEntities.User AS User WHERE User.UserName = @username AND User.Password = @password";

ObjectParameter[] parameters = new ObjectParameter[2];

parameters[0] = new ObjectParameter("username", username);
parameters[1] = new ObjectParameter("password", password);

using (var context = new festDBEntities())
{
ObjectQuery<string> results = context.CreateQuery<string>(query, parameters);

foreach (string result in results)
{
if (result != null)
{
return result;
}
}
}
return null; ;
}
}
}

我的 IService.cs 文件:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;

namespace CloudServiceRole
{
// NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together.
[ServiceContract]
public interface IService1
{
[OperationContract]
void AddUser(string userName, string password);

[OperationContract]
string LoginUser(string userName, string password);
// TODO: Add your service operations here
}
}

我的数据库包含 UserId(int)-PK、用户名(nvarchar)、密码(nvarchar)在我掌握基础知识后将添加其他内容。关于导致错误或我的代码的一般原因有什么想法吗?非常感谢,MH

最佳答案

这听起来不像是电话调用的问题,您是否尝试过从其他地方调用它?您是否尝试过调用不带参数的 Web 服务来查看是否有效?

您可能需要查看此示例以帮助您入门:

http://www.c-sharpcorner.com/uploadfile/dhananjaycoder/hosting-wcf-service-in-windows-azure-and-consuming-in-window-7-phone-app/

此外,我建议使用 WCF REST 并返回 JSON,如下所示:

http://www.c-sharpcorner.com/UploadFile/dhananjaycoder/how-to-consume-wcf-rest-service-returning-json-in-windows-ph/

关于web-services - 从 Windows Phone 访问 Windows Azure DB 时出现服务错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10233969/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com