如何在C#中的方法参数中定义Bit数据类型?

Hen*_*een 3 c# sql t-sql sql-server asp.net

我在数据库上有一个SQL表,其中有一列有Bit数据类型.我正在尝试在我的C#应用​​程序中定义一个方法,该方法从表中获取两个列并将它们用作参数.

这是代码

public void Edit_NAA_ApplicationsFirm(int ApplicationId, string UniversityOffer, bit Firm)
    {
        //This line declares a variable in which we store the actual values from NAA_Applications based on the associating ID
        NAA_Applications AppFirm = Get_Applicant_Application(ApplicationId);

        //Here we tell the application that the values edited are equal to the values within the table
        AppFirm.Firm = Firm;

        //Any of these changes are then saved.
        _context.SaveChanges();

    }
Run Code Online (Sandbox Code Playgroud)

唯一的问题是程序一直在尝试将位转换为BitConverter.当我将其更改为位时,它将接受它作为数据类型的问题.

值得注意的是,我正在ASP.Net Framework解决方案中构建应用程序.

谁能告诉我它是什么我做错了?我只是指数据类型错了吗?

ADy*_*son 5

看起来你正在使用Entity Framework.

它将使用.NET boolean来表示T-SQL bit.对于任何其他数据访问方法来说,这也是一种明智的方法.boolean true将转换为1位字段,并转换false0.

事实上,它甚至不止一次地记录了这是正确使用的.NET CLR类型.见https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/linq/sql-clr-type-mapping,https://msdn.microsoft.com/en-us/library /cc716729(v=vs.100).aspx和其他人.

所以在你的情况下bool Firm是合适的.