将现有存储库添加到另一个现有存储库作为子服务器的最佳/最简单方法(或甚至可能)是什么?
情况是我有一个现有的(主)项目,我想在其中包含一个库项目,以便我可以从主项目编辑库项目,并在进行主项目时将更改提交到库项目.
另外:我是否需要克隆/推/拉到原始库项目,还是在主项目中提交时自动完成?
关于
Jesper Hauge
我正在寻找最好的方法来从List中获取一个随机元素,其中T将是通过基类无关的不同类型的对象.
我一直在为List创建一个扩展方法,或者是一个收到List的帮助方法,但我还是没能把它放在一起.每次我遇到处理T的问题我都不知道是什么.
是否可以在不创建接口或基类的情况下执行此操作?因为我看不到为不同的T实现基类或接口的任何有意义的方法.
关于Jesper Hauge
在更多关于泛型方法的阅读之后,我设法自己编写了一些代码.这是我的解决方案:
public static class ListExt
{
public static T RandomItem<T>(this List<T> list)
{
if (list.Count == 0)
return default(T);
if (list.Count == 1)
return list[0];
Random rnd = new Random(DateTime.Now.Millisecond);
return list[(rnd.Next(0, list.Count))];
}
}
Run Code Online (Sandbox Code Playgroud)
这是一种扩展方法,可以使用以下代码从任何List中选择随机项:
private Picture SelectTopPic()
{
List<Picture> pictures = GetPictureList();
return pictures.RandomItem();
}
Run Code Online (Sandbox Code Playgroud) 我有一个项目有3个简单的表,几个POCO类,以及用代码创建的DBContext,没有edml文件.下面的代码设置用于处理实体框架代码的beta - 首先,我编辑了DbContext代码,因为模型构建器从beta改为RC
表(简单表多对多表的字段声明为具有级联删除的外键):
CREATE TABLE [dbo].[Bookings](
[ID] [int] IDENTITY(1,1) NOT NULL,
[StartDate] [datetime] NOT NULL,
[EndDate] [datetime] NOT NULL,
[AccountId] [varchar](50) NOT NULL,
CONSTRAINT [PK_Bookings] PRIMARY KEY CLUSTERED
(
[ID] ASC
)
CREATE TABLE [dbo].[Units](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](100) NOT NULL,
[Description] [nvarchar](1000) NULL,
[Beds] [int] NOT NULL,
CONSTRAINT [PK_Units] PRIMARY KEY CLUSTERED
(
[ID] ASC
)
CREATE TABLE [dbo].[UnitBookings](
[UnitId] [int] NOT NULL,
[BookingId] [int] NOT NULL
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)
POCOS:
public class Unit
{ …
Run Code Online (Sandbox Code Playgroud)