项目概述
需求
创建公司内部项目管理系统。
技术栈
数据库:oracle 11g
ORM:Entity Framework
框架:参考Osharp、Dos.ORM
项目实施
创建数据库
创建表空间及临时表空间
create tablespace projectmanager datafile '' size 100m autoextend on next 100m maxsize unlimited;
create temporary tablespace projectmanagertemporory tempfile '' size 100m autoextend on next 100m maxsize unlimited;
创建表空间与临时表空间有两点不同,临时表空间需要增加temporary关键字,及文件路径标识表空间为datafile,临时表空间为tempfile。
创建用户及赋予权限
create user projectmanager identified by ***;
grant connect,resource,dba to projectmanager;
加载Oracle Entity Framework类包并配置
使用nuget下载
如下两个包,首先下载ManagedDataAccess,然后在下载载EntityFramework。因为EntityFramework中自带ManagerDataAccess组件,而且版本有可能低于单独下载的组件,在开发中有可能出现不确定的问题。
在项目中下载完成这两个组件后,会在web.config中自动生成config节点需要手动配置节点信息:
<add name="default" providerName="Oracle.ManagedDataAccess.Client" connectionString="User Id=projectmanager;Password=***;Data Source=orcl" />
Data Source可以使用全名的方式也可以使用别名方式:
<dataSources>
<dataSource alias="SampleDataSource" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL))) "/>
</dataSources>
详细的code first内容可以参照点击打开链接这篇内容,进行详细的了解。
DataBase First 方式创建数据库表
创建内容包括,projects 表,users表,关联表projectuser以及主键相对应的序列和触发器。
-- CREATE TABLE PRO