将Firebird连接到ASP.net WebAPI项目

时间:2015-03-31 14:18:22

标签: c# asp.net asp.net-mvc asp.net-web-api firebird

我正在学习ASP.net,特别是WebAPI和MVC。我使用的是Visual Studio Community 2013,.NET 4.5和C#。我是一个新手,所以我实际上正在通过这个特定的演练来了解事情的运作方式:

http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api

到目前为止一切正常,但我想继续连接数据库以填充我的数据集。我非常熟悉使用Firebird并且能够将Firebird安装为数据提供者(通过NuGet并安装相应的DDEX文件)。不幸的是,我很难理解如何查询数据库并填充我的数组。

基本上,这就是我的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using FirebirdSql.Data.FirebirdClient;
using System.Configuration;
using System.Collections;

namespace NBAPoolWebService.Controllers
{
    public class UserController : ApiController
    {

        User[] users = new User[] 
        {
            new User { ID = 1, CREATED=new DateTime(2011, 1, 12), ISACTIVE='Y', USERNAME="TEST1"}, 
            new User { ID = 2, CREATED=new DateTime(2012, 2, 22), ISACTIVE='Y', USERNAME="TEST2"}

        };

        public IEnumerable<User> GetAllUsers()
        {
            return users;
        }

        public IHttpActionResult GetUser(int id)
        {
            var user = users.FirstOrDefault((p) => p.ID == id);
            if (user == null)
            {
                return NotFound();
            }
            return Ok(user);
        }
    }
}

目前,如果我访问http://localhost/api/user,我会通过JSON获取测试用户列表(这就是我想要的)。

我希望了解的是如何更改我设置为来自Firebird数据库的数组(通过SQL查询)。我知道如何获取我的查询(从用户中选择*),我有一个有效的连接(通过visual studio确认),我已经看到了一些关于如何使用FBConnection的教程。

我遇到的困难实际上是使用查询中的数据并填充数组中的对象。

非常感谢任何帮助。如果您能告诉我需要输入的代码,或者指向正确的教程,或者如果您认为我应该使用特定的技术或方法,那就太棒了。

我尝试实现/理解的是如何创建一个响应JSON并连接到Firebird数据库的Web服务。

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

经过一番研究后,我偶然发现了以下链接:

[链接] http://johntomaselli.blogspot.ca/2012/04/mvc-4-firebird-ef-41-and-database-first.html

所以我删除了现有的用户控制器和模型,并使用ADO.NET实体数据模型(名为User)创建了一个新模型。

从那里,我使用EF Designed from Database并使用我在web.config中创建的连接字符串。

从那里,我可以选择我想要的数据库表,并构建一个名为User.edmx的模型。

之后,我使用Web API2 Controller使用Entity Framework创建了一个控制器。

这允许我选择具有相应名称的模型类。

此时,我认为我需要对实体框架进行一些研究,但这至少允许我创建一个连接到数据库的Web服务。

希望这可以帮助其他年轻的新手开始使用ASP.net,MVC,WebAPI,Entity Frameworks和Firebird。

我接下来的步骤将理解User.edmx,如果我应该为所有表(而不是一个)创建一个模型。希望我理解当我重新构建实体框架时。

答案 1 :(得分:0)

通过观看复数视频,我学到了很多关于.Net和实体框架的知识。如果您没有帐户,则注册试用即可让您观看Entity Framework and Data Models。有一个专门用于创建数据库优先实体数据模型的模块,您可能会发现它很有用。