我使用 WCF REST 模板构建 WCF 服务库来创建 PUT 和 GET 调用。PUT 方法可以很好地将我的 blob 发送到数据库。
在 GET 上,我希望能够直接访问 Web 服务并将存储过程的结果显示为数据集,并将其绑定到网格视图。存储过程是一个简单的选择语句,从表中返回四列中的三列。我有以下内容:
[WebGet(UriTemplate = "/?name={name}", ResponseFormat = WebMessageFormat.Xml)]
public List<Object> GetCollection(string name)
{
try
{
db.OpenDbConnection();
// Call to SQL stored procedure
return db.GetCustFromName(name);
}
catch (Exception e)
{
Log.Error("Stored Proc execution failed. ", e);
}
finally
{
db.CloseDbConnection();
}
return null;
}
我还将 Linq 添加到 SQL 类以包括我的数据库表和存储过程访问。除了其他必需的文件之外,我还创建了 Default.aspx 文件。
protected void Page_Load(object sender, EventArgs e)
{
ServiceDataContext objectContext = new ServiceDataContext();
var source = objectContext.GetCustFromName("Tiger");
Menu1.DataSource = source;
Menu1.DataBind();
}
但这给了我实体类型''不属于任何注册模型。
数据绑定应该在哪里完成?GetCollection() 的返回类型应该是什么?我被这个困住了。请提供有关如何执行此操作的帮助。