0

您好,感谢您阅读我的主题。

我是新的 aps.net 4.5+,正在尝试将 C# asp.net 示例移植到 Visual Basic。

我已尝试以我有限的技能尽可能地遵循说明。

原始文章在这里...

这篇文章分几个步骤,我在第 2 步。

ORIGINAL CODE - PRODUCT CONTEXT CLASS
=====================================
using System.Data.Entity; 
namespace WingtipToys.Models 
{ 
public class ProductContext : DbContext 
{ 
    public ProductContext() : base("WingtipToys")  
    { 
    } 
    public DbSet<Category> Categories { get; set; } 
    public DbSet<Product> Products { get; set; } 
} 
}

让我感到困惑的是上面代码中带有尖括号的代码语句。还有以下陈述

1“公共类产品上下文:dbcontext”

2“公共数据库集类别{get; set;}”

3“公共数据库集产品{get; set;}”

DBSET 是从哪里来的?当项目被包含在尖括号中时是什么意思?

我不希望像在示例中那样使用数据为数据库播种。我已经有一个数据库,并且很乐意从数据库中获取数据

我试图搜索相同的项目(翼尖玩具 + Visual Basic),但找不到 vb 示例)

基本上在它有点混乱之前从未与实体合作过。

有人可以指出我正确的方向吗?

4

3 回答 3

2

使用Telerik 代码转换器。它是一个免费且简单的 VB 到 C# 和 C# 到 VB 代码转换器。

于 2012-12-12T04:01:14.820 回答
1

花一些时间学习 C# 的基础知识,你不会后悔的。

为什么要将它移植到 Visual Basic?因为你不懂C#?也许你应该花更多的时间在它上面,你可能最终会喜欢 C# 而不是 VB,(至少对我来说是这样 :))

`

“公共类产品上下文:dbcontext”

Here it defins a class named产品上下文DbContext` which inherits from

2“公共数据库集类别{get; set;}”

3“公共数据库集产品{get; set;}”

上述两行都使用C# 的Auto 属性语法定义了两个属性“类别”和“产品” 。

此外,我相信这个类是从EntityFramework生成的,你不应该尝试自己转换它,而是重新生成到 VB 中。

我不完全是如何做到这一点,但我想如果你得到edmx(它以 XML 格式保存实体模型),并将其添加到 VB 项目中,它将在 VB 中重新生成代码。(虽然从未尝试过)。

不过,您必须学习基础知识才能在这方面做得更好。

于 2012-12-12T04:06:49.160 回答
0

这是解决方案:

Imports System.Data.Entity

Namespace WingtipToys.Models

Public Class ProductContext
    Inherits DbContext

    Public Sub New()
        MyBase.New("WingtipToys")
    End Sub

    Public Property Categories As DbSet(Of Category)
    Public Property Products As DbSet(Of Product)
End Class

End Namespace

我很高兴别人已经移植了它,更高兴你正在使用 VB.NET。

作为一名自 1992 年以来忘记的编程语言比大多数人所学的更多的专业程序员,VB.NET 是我的首选语言,因为它保留了早期 BASIC 形式的可读性,没有 BASIC 过去的限制。

作为一名新开发人员,VB.NET 更清晰、更接近于伪代码的语法使得更容易将更多精力放在正在完成的实际工作上,而不是翻译可以追溯到 1970 年代每个字节都很宝贵的神秘符号,并且语言使用单字符符号来节省空间。

我认为 VB.NET 最大的可能问题是它可以很容易让程序员编写比其他语言更草率的代码,但 IMO 我见过的任何语言的大多数代码都写得不好, VB.NET 中的糟糕代码可能很糟糕但可读,而具有 C 风格语法的语言中的糟糕代码很容易完全无法理解。

因此,我鼓励您学习良好的编程实践,尤其是使用直观的变量和方法名称,并保持您的方法简短并解决一个问题,并通过问自己两年后理解您的想法有多容易来命名它们现在。

于 2013-03-10T14:56:57.097 回答