c# - 错误 40 edmx 文件 MVC : The Type decimal(18, 0) 未使用命名空间或别名限定

标签 c# asp.net-mvc edmx

我对 MVC 概念很陌生。我正在使用 Microsoft Visual Studio Express 2013 for Web 和 SQL Server LocalDb v11。到目前为止,我还没有遇到任何问题。但后来我将数据库中的价格字段从实数更改为十进制 (18,0)。我收到有关 edmx 文件的错误:

Error 40: The Type decimal(18,0) is not qualified with a namespace or alias. Only primitive types can be used without qualification.

我已经尝试在我的 edmx 文件中使用“decimal”类型,也尝试使用 int(只是为了看看它是否有效),但仍然出现相同的错误。

我感谢每一个答案。

数据库部分:

CREATE TABLE [dbo].[Item] (
    [Id]        INT            NOT NULL,
    [DepartmentId] INT            NOT NULL,
    [Name]       NVARCHAR (50)  NOT NULL,
    [Description]      NVARCHAR (MAX) NOT NULL,
    [Price]      DECIMAL           NOT NULL,
    [Quantity]  INT            NOT NULL,
    [AuthorId]   INT            NULL,
    PRIMARY KEY CLUSTERED ([Id] ASC),
    CONSTRAINT [FK_Item_ToDepartment] FOREIGN KEY ([DepartmentId]) REFERENCES [dbo].[Department] ([Id]),
    CONSTRAINT [FK_Item_ToAuthor] FOREIGN KEY ([AuthorId]) REFERENCES [dbo].[Author] ([Id])
);

模型类:

       namespace WebStore.Models

{
    using System;
    using System.Collections.Generic;

    public partial class Item
    {
        public Item()
        {
            this.Cart = new HashSet<Cart>();
        }

        public int Id { get; set; }
        public int DepartmentId { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }
        public decimal Price { get; set; }
        public int Quantity { get; set; }
        public Nullable<int> AuthorId { get; set; }

        public virtual Author Author { get; set; }
        public virtual Department Department { get; set; }
        public virtual ICollection<Cart> Cart { get; set; }
    }
}    

以及 edmx 文件中出现错误 40 的部分:

<EntityType Name="Item">
      <Key>
        <PropertyRef Name="Id" />
      </Key>
      <Property Name="Id" Type="Int32" Nullable="false" />
      <Property Name="DepartmentId" Type="Int32" Nullable="false" />
      <Property Name="Name" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
      <Property Name="Description" Type="String" MaxLength="Max" FixedLength="false" Unicode="true" Nullable="false" />
      <Property Name="Price" Type="decimal(18,0)" Nullable="false" />
      <Property Name="Quantity" Type="Int32" Nullable="false" />
      <Property Name="AuthorId" Type="Int32" />
      <NavigationProperty Name="Author" Relationship="Self.FK_Item_ToAuthor" FromRole="Izdelek" ToRole="Author" />
      <NavigationProperty Name="Department" Relationship="Self.FK_Item_ToDepartment" FromRole="Izdelek" ToRole="Departmetn" />
      <NavigationProperty Name="Cart" Relationship="Self.FK_Cart_ToItem" FromRole="Izdelek" ToRole="Cart" />
    </EntityType>    

最佳答案

如果您使用十进制,请尝试使用大写 D 来指定类型,例如 Type="Decimal" Precision="18" Scale="0"edmx:ConceptualModels edmx 文件的一部分。 edmx:StorageModels Type="decimal" Precision="18" Scale="0" 部分应该没问题.

关于c# - 错误 40 edmx 文件 MVC : The Type decimal(18, 0) 未使用命名空间或别名限定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27765883/

相关文章:

c# - 为项目列表选择正确的控件

c#:使用 Handler(.ashx) 使用 javascript 获取帖子发送

asp.net-mvc - 我可以在实际项目中使用 Telerik ASP.NET MVC 扩展吗?

entity-framework - 从数据库生成时,AspNetUserRoles 不在 EDMX 中

c# - EDMX .NET 4.5 到 4.0?

.net-4.0 - 从 3.5 升级到 4 时 edmx 文件中的警告

javascript - asp.net加载服务器端url但不打开页面或窗口

c# - 如何在两个项目共享的 xaml 文件中添加用户控件的引用

c# - 基本 ASP.NET MVC 3 查询

javascript - AJAX 调用未将值传递给操作