以上代码为我们指定了数据库中Student表的名称。如果我们需要设置其它属性,比如指定主键、默认值等等,在CodeFirst Oracle中都可以通过Fluent API来完成。代码如下所示:< /p>
modelBuilder.Entity() .Property(s =>s.Age) .HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
代码中我们使用了HasDatabaseGeneratedOption来设置Age列的默认值。在CodeFirst Oracle中有很多类似的方法可以用于设置各种属性,可以根据具体需求进行选择。CodeFirst Oracle默认使用CodeFirst的约定来生成数据库表结构,也就是说如果表名为Student,那么其主键名称一定为Id。不过如果我们需要手动指定主键名,可以通过以下代码来实现:< /p>
modelBuilder.Entity< Student >().HasKey(s =>s.StudentId);
有了以上准备工作后,我们就可以通过以下代码来向数据库中插入一条学生记录:< /p>
using (var context = new MyDbContext()) { var student = new Student() { Name = "Peter", Age = 18 }; context.Students.Add( student ); context.SaveChanges(); }
以上代码将实例化一个MyDbContext,然后通过Add方法向其中添加学生记录,最后通过SaveChanges方法将这个记录保存到Oracle数据库中。CodeFirst Oracle支持多种增删改查操作,大大简化了代码的编写。最后我们需要提醒的是,CodeFirst Oracle与其他CodeFirst框架一样,需要在连接字符串中指定连接数据库的Oracle Provider。如果没有指定该Provider会造成异常:< /p>
connectionString="DATA SOURCE=10.10.10.10/orcl;PERSIST SECURITY INFO=True;USER ID=DB_ADM;Password=xx;Provider=Oracle.DataAccess.Client"
通过本文的介绍,读者可以了解到CodeFirst Oracle是如何通过实体类从而构建Oracle数据库表并且进行基于其上的各种增删改查操作的。CodeFirst Oracle和其他CodeFirst框架不仅可以实现快速开发业务逻辑,而且能够通过实体类来保证数据结构的正确性。总之,无论是对于Oracle数据库的初学者还是熟练者,CodeFirst Oracle都是非常有用的工具,而且使用方法简单,非常适合对自己的代码质量有要求的码农们使用。< /p >